Как вы создаете Android-приложение без отмены? Я ожидал, что setCancelable (false) сделает это, но не избавится от кнопки, это только предотвращает нажатие на кнопку отмены за окном или кнопкой возврата.Timepicker без кнопки отмены?
3
A
ответ
3
Если вы хотите использовать TimePickerDialog, это довольно просто. Вы просто должны определить, когда будет показан диалог, искать кнопку ОТРИЦАТЕЛЬНУЮ так, что служит «Отменить» один и установить его видимость GONE..like это:
final TimePickerDialog timePicker = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// Do something with the time
}
}, 12, 25, true); // 12 is the hour and 25 is minutes..please change this
timePicker.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
// This is hiding the "Cancel" button:
timePicker.getButton(Dialog.BUTTON_NEGATIVE).setVisibility(View.GONE);
}
});
timePicker.show();
0
Если вы не хотите отменить кнопка для выбора времени, лучше использовать время сборщика в файле XML, как:
<TimePicker
android:id="@+id/timePicker1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
и ваша деятельность должна быть как:
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
import android.widget.TimePicker;
public class MainActivity extends Activity {
private TimePicker timePicker1;
private TextView time;
private Calendar calendar;
private String format = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
timePicker1 = (TimePicker) findViewById(R.id.timePicker1);
time = (TextView) findViewById(R.id.textView1);
calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int min = calendar.get(Calendar.MINUTE);
showTime(hour, min);
}
public void setTime(View view) {
int hour = timePicker1.getCurrentHour();
int min = timePicker1.getCurrentMinute();
showTime(hour, min);
}
public void showTime(int hour, int min) {
if (hour == 0) {
hour += 12;
format = "AM";
}
else if (hour == 12) {
format = "PM";
} else if (hour > 12) {
hour -= 12;
format = "PM";
} else {
format = "AM";
}
time.setText(new StringBuilder().append(hour).append(" : ").append(min)
.append(" ").append(format));
}
}
это для справки, надеюсь, что это поможет .. Спасибо :)
'TimePicker' не имеет кнопки отмены. 'TimePickerDialog' имеет кнопку отмены. Если вы не хотите кнопку отмены, используйте виджет 'TimePicker' в своем собственном интерфейсе. – CommonsWare