Android TimePickerFragment两个按钮
我有一个TimePickerFragment和一个onTimeSet在选择时间后执行操作。问题是,我有两个按钮选择时间,我不知道如何知道哪个用户使用。我尝试了一个开关,但它无法解析符号 如何知道用户选择哪个按钮Android TimePickerFragment两个按钮,android,android-timepicker,Android,Android Timepicker,我有一个TimePickerFragment和一个onTimeSet在选择时间后执行操作。问题是,我有两个按钮选择时间,我不知道如何知道哪个用户使用。我尝试了一个开关,但它无法解析符号 如何知道用户选择哪个按钮 public class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener { ... public void onTimeSet(TimePicker vi
public class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener {
...
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
switch(view) {
case R.id.bstart: //cannot resolve symbol
Toast.makeText(Objects.requireNonNull(getActivity()).getApplicationContext(), "button 1", Toast.LENGTH_SHORT).show();
break;
case R.id.bend:
Toast.makeText(Objects.requireNonNull(getActivity()).getApplicationContext(), "button 2", Toast.LENGTH_SHORT).show();
break;
}
}
如有需要:
我的按钮:
<Button
android:id="@+id/button"
...
/>
<Button
android:id="@+id/button2"
...
/>
您可以使TimePickerFragment的构造函数采用视图id。 在您的主要活动中:
DialogFragment newFragment = new TimePickerFragment(v.getId());
在TimePickerFragment中:
private String viewId;
public TimePickerFragment(String viewId) {
super();
this.viewId = viewId;
}
您可以使TimePickerFragment的构造函数采用视图id。 在您的主要活动中:
DialogFragment newFragment = new TimePickerFragment(v.getId());
在TimePickerFragment中:
private String viewId;
public TimePickerFragment(String viewId) {
super();
this.viewId = viewId;
}
您可以向片段中添加一个包
public void showTimePickerDialog(View v) {
DialogFragment newFragment = new TimePickerFragment();
Bundle args = new Bundle();
args.putString("","");
newFragment.setArguments(args);
newFragment.show(getSupportFragmentManager(), "timePicker");
}
然后在片段类中,您可以使用
Bundle args = getArguments();
args.getString("","");
您需要进行适当的更改,因为此时我无法测试语法。但这就是如何将参数放入片段的一般思路。您可以向片段中添加一个包
public void showTimePickerDialog(View v) {
DialogFragment newFragment = new TimePickerFragment();
Bundle args = new Bundle();
args.putString("","");
newFragment.setArguments(args);
newFragment.show(getSupportFragmentManager(), "timePicker");
}
然后在片段类中,您可以使用
Bundle args = getArguments();
args.getString("","");
您需要进行适当的更改,因为此时我无法测试语法。但这就是如何将参数放入片段的一般思路。TimePickerFragment中的
TimePickerFragment()不能应用于(int)
@RickJoe您将我在回答中显示的构造函数添加到您的TimePickerFragment类中了吗向我显示以下内容:TimePickerFragment中的TimePickerFragment()不能应用于(int)
@RickJoe您添加了我在对TimePickerFragment类的回答中显示的构造函数?
public void showTimePickerDialog(View v) {
DialogFragment newFragment = new TimePickerFragment();
Bundle args = new Bundle();
args.putString("","");
newFragment.setArguments(args);
newFragment.show(getSupportFragmentManager(), "timePicker");
}