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 に答える