1

我有一个时间选择器类,可以在选择后显示时间。我的问题是如何编写一个函数来以字符串形式而不是文本视图检索时间(来自 mTimeDisplay)?

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    mTimeDisplay = (TextView) findViewById(R.id.time);
    mPickTime = (Button) findViewById(R.id.timepicker);


    //Pick time's click event listener
    mPickTime.setOnClickListener(new View.OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            showDialog(TIME_DIALOG_ID);
        }

    });




}

    // update time
    public void updatetime()
    {
        mTimeDisplay.setText(


                    new StringBuilder()
                            .append(pad(mhour)).append(":")
                            .append(pad(mminute))
                            .append(" to ")
                            .append(pad(mhour2)).append(":")
                            .append(pad(mminute2))
                            ); 
        }

        private static String pad(int c) {
            if (c >= 10)
                return String.valueOf(c);
            else
            return "0" + String.valueOf(c);
    }
4

2 回答 2

2

你可以这样

StringBuilder sb = new StringBuilder()
.append(pad(mhour)).append(":")
.append(pad(mminute))
.append(" to ")
.append(pad(mhour2)).append(":")
.append(pad(mminute2));

String time = sb.toString() // or you can get directly value from sb.toString() as per you requirement

并将这一行放入评论

/* mTimeDisplay.setText(
new StringBuilder()
 .append(pad(mhour)).append(":")    
.append(pad(mminute))
 .append(" to ")
.append(pad(mhour2)).append(":")
.append(pad(mminute2))
); */
于 2011-12-13T08:06:14.483 回答
1

TextView.getText()方法返回CharSequence您可以直接使用或使用该方法转换为字符串的方法toString,例如

String time = mTimeDisplay.getText().toString();
于 2011-12-13T08:07:51.600 回答