从 timePickerDialog 获取输入
taking inputs from timePickerDialog
我在一个项目中工作,用户在 TimePickerDialog 中输入时间。我想获取该输入并将其存储在另一个变量中并将其显示为 textView。
public class MainActivity extends Activity {
Button b1;
TextView tv;
int hour,min;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button)findViewById(R.id.b1);
tv = (TextView)findViewById(R.id.tv1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
TimePickerDialog tpd = new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
hour = hourOfDay;
min = minute;
}
}, hour, min, false);
tpd.show();
tv.setText(hour + ":" + min);
}
});
}
}
当我 运行 这个应用程序首先显示 0:0 。我按下按钮,对话框出现我设置时间并按下完成,但 textview 没有改变,只有在我再次按下按钮后,textview 才会更改为上一个输入。我想要的是,当我在 timepickerdialog 中按完成时,textview 将显示我设置的时间。它显示了那个值,但只有在我再次按下按钮之后。
您需要在单击完成按钮时更新 TextView
。现在,您的 TextView
在时间选择完成后不会得到更新。只需像下面这样更改您的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button)findViewById(R.id.b1);
tv = (TextView)findViewById(R.id.tv1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
TimePickerDialog tpd = new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
hour = hourOfDay;
min = minute;
//Place it here
tv.setText(hour + ":" + min);
}
}, hour, min, false);
tpd.show();
}
});
}
}
试试这个
public class MainActivity extends Activity {
Button b1;
TextView tv;
int hour,min;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button)findViewById(R.id.b1);
tv = (TextView)findViewById(R.id.tv1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
TimePickerDialog tpd = new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
hour = hourOfDay;
min = minute;
tv.setText(hour + ":" + min);
}
}, hour, min, false);
tpd.show();
}
});
}
}
我在一个项目中工作,用户在 TimePickerDialog 中输入时间。我想获取该输入并将其存储在另一个变量中并将其显示为 textView。
public class MainActivity extends Activity {
Button b1;
TextView tv;
int hour,min;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button)findViewById(R.id.b1);
tv = (TextView)findViewById(R.id.tv1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
TimePickerDialog tpd = new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
hour = hourOfDay;
min = minute;
}
}, hour, min, false);
tpd.show();
tv.setText(hour + ":" + min);
}
});
}
}
当我 运行 这个应用程序首先显示 0:0 。我按下按钮,对话框出现我设置时间并按下完成,但 textview 没有改变,只有在我再次按下按钮后,textview 才会更改为上一个输入。我想要的是,当我在 timepickerdialog 中按完成时,textview 将显示我设置的时间。它显示了那个值,但只有在我再次按下按钮之后。
您需要在单击完成按钮时更新 TextView
。现在,您的 TextView
在时间选择完成后不会得到更新。只需像下面这样更改您的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button)findViewById(R.id.b1);
tv = (TextView)findViewById(R.id.tv1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
TimePickerDialog tpd = new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
hour = hourOfDay;
min = minute;
//Place it here
tv.setText(hour + ":" + min);
}
}, hour, min, false);
tpd.show();
}
});
}
}
试试这个
public class MainActivity extends Activity {
Button b1;
TextView tv;
int hour,min;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button)findViewById(R.id.b1);
tv = (TextView)findViewById(R.id.tv1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
TimePickerDialog tpd = new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
hour = hourOfDay;
min = minute;
tv.setText(hour + ":" + min);
}
}, hour, min, false);
tpd.show();
}
});
}
}