Java 코드에 대한 일부 논리 문제로 인해 대화 상자가 표시됩니다. 사용자가 별 속도를 선택하면 이벤트가 발생했을 때 Android 프롬프트 대화 상자
ratingBar.setOnTouchListener(new OnTouchListener()
{
public boolean onTouch(View view, MotionEvent event)
{
float touchPositionX = event.getX();
float width = ratingBar.getWidth();
float starsf = (touchPositionX/width) * 5.0f;
starRate = (int)starsf + 1;
ratingBar.setRating(starRate);
promptSubmitStar();
return true;
}
});
public void promptSubmitStar(){
AlertDialog.Builder Dialog = new AlertDialog.Builder(getActivity());
Dialog.setTitle("Confirm Rating");
LayoutInflater li = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View dialogView = li.inflate(R.layout.option_submit_star, null);
txtPromptStarRate = (TextView) dialogView.findViewById(R.id.txtPromptStarRate);
txtPromptStarRate.setText("Confirm to submit " + starRate + " stars for this event?");
Dialog.setView(dialogView);
Dialog.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
dialog.dismiss();
}
});
Dialog.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
dialog.dismiss();
}
});
Dialog.show();
}
그러나 이러한 코드와
가, 대화 상자를 두 번 메시지 : 그러니까 기본적으로 내 ratingBar이 onTouch 때, 나는 별 속도 및 프롬프트 대화 상자가 나타납니다. 어떤 부분이 그것을 일으키는 지 궁금합니다. 미리 감사드립니다.
등급 등급은 무엇입니까? – Simas
등급 표시 줄입니다. 나는 그것이 두 번 프롬프트가 될 것 인 지 궁금하다. –