Edittextでアンドロイド画面を実装しました。ユーザーがこのEditTextをタッチすると、datepickerダイアログが表示されます。これはうまくいきましたが、私の問題は、ユーザーがEditTextをタッチすると、2つのdatepickerダイアログが現れていることです。私はただ一つしか現れないようにしたい。Android EditText&Dialogbox
誰かがこの問題に遭遇したのか、それとも私だけですか?はいの場合は、解決策はありますか?私はしかし、何も見つからなかった、それをGoogle'd:/
コードにつきましては、これは私が持っているものです。
datebox = (TextView)findViewById(R.id.datebox);
datebox.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
timedatedialog(false);
return false;
}});
public void timedatedialog(boolean flag) {
if(flag==false){
DatePickerDialog dateDlg = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth)
{
Time chosenDate = new Time();
chosenDate.set(dayOfMonth, monthOfYear, year);
long dtDob = chosenDate.toMillis(true);
CharSequence strDate = DateFormat.format("MMMM dd, yyyy", dtDob);
Toast.makeText(ForecastingActivity.this,
"Date picked: " + strDate, Toast.LENGTH_SHORT).show();
datebox.setText(strDate);
}}, 2012,0, 1);
すべてのヘルプははるかに高く評価されます。ありがとう!
はonTouch()メソッドから真への復帰を変更してみてください。このドキュメントを見てくださいhttp://developer.android.com/reference/android/view/View.OnTouchListener.html#onTouch%28android.view.View.%20android.view.MotionEvent%29 – Phani
nopが動作しませんでした: – progdoc
次に、コードをデバッグしてonTouch()メソッドが異なるイベントタイプで2回呼び出されているかどうかを確認します。はいの場合は、1つの操作に対してのみ実行してください。 – Phani