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