我正在對我的EditText
做一個對話框,所以當我觸摸EditText
時,該框將顯示(setOntouchListener)。問題是:當我觸摸EditText
,該框顯示兩次(當我在框中單擊解僱按鈕,第二個框顯示和框的內容是完全一樣的)對話框顯示兩次
FoodText.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.customfoodinput);
dialog.setTitle("Insert your Food");
spinner1 = (Spinner) dialog.findViewById(R.id.spinner_foodTime);
spinner2 = (Spinner) dialog.findViewById(R.id.spinner_foodType);
foodtimeArray.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(foodtimeArray);
foodtypeArray.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(foodtypeArray);
Button btntampung = (Button) dialog.findViewById(R.id.btn_inputfood);
btntampung.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Object item = spinner1.getSelectedItem();
String dataspinner = item.toString();
Object item2 = spinner2.getSelectedItem();
String dataspinner2 = item2.toString();
dialog.dismiss();
FoodText.setText(dataspinner + "; " + dataspinner2);
}
});
dialog.show();
return false;
}
});
任何人都可以幫助我?
onTouch被稱爲每一次觸摸事件。把你的手指放在屏幕上是一種觸摸,釋放是另一種,拖動也可以是另一種。至少有2個對話框。 – njzk2
我明白了,所以爲了讓箱子只顯示一次,我必須做些什麼? –
查看觸摸事件的內容並篩選一些操作。或在第一次觸摸事件 – njzk2