繁体   English   中英

识别android中的第二单击事件

[英]Recognize second click event in android

我正在编写我的第一个android应用程序。 这是一个测验应用程序,其中显示带有4个答案选项的问题。

我想在单击其中一个按钮后立即显示正确答案,然后在再次单击按钮时显示下一个问题。


此时,正确答案和下一个问题会同时显示。

 public class ACEInhibitors extends Fragment implements View.OnClickListener { List<Question> quesList; int score = 0; int qid = 0; Question currentQ; TextView txtQuestion; RadioButton rda, rdb, rdc, rdd; Button checkBtn; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { /** Inflating the layout for this fragment **/ View view = inflater.inflate(R.layout.question, null); DatabaseHelper db = new DatabaseHelper(getActivity()); quesList = db.getAllACEQuestions(); currentQ = quesList.get(qid); txtQuestion = (TextView) view.findViewById(R.id.textView); rda = (RadioButton) view.findViewById(R.id.radio0); rdb = (RadioButton) view.findViewById(R.id.radio1); rdc = (RadioButton) view.findViewById(R.id.radio2); rdd = (RadioButton) view.findViewById(R.id.radio3); rda.setOnClickListener(this); rdb.setOnClickListener(this); rdc.setOnClickListener(this); rdd.setOnClickListener(this); setQuestionView(); return view; } @Override public void onClick(View view) { Fragment fragment = null; switch (view.getId()) { case R.id.radio0: // Happening for the first click // Set colors according to correct answer rda.setBackgroundColor(Color.RED); rdb.setBackgroundColor(Color.RED); rdc.setBackgroundColor(Color.RED); rdd.setBackgroundColor(Color.RED); if (currentQ.getANSWER().equals(currentQ.getOPTA())) { rda.setBackgroundColor(Color.GREEN); } else if (currentQ.getANSWER().equals(currentQ.getOPTB())) { rdb.setBackgroundColor(Color.GREEN); } else if (currentQ.getANSWER().equals(currentQ.getOPTC())) { rdc.setBackgroundColor(Color.GREEN); } else if (currentQ.getANSWER().equals(currentQ.getOPTD())) { rdd.setBackgroundColor(Color.GREEN); } // Supposed to happen for the second click // Display the next question currentQ = quesList.get(qid); setQuestionView(); break; } } private void setQuestionView() { txtQuestion.setText(currentQ.getQUESTION()); rda.setText(currentQ.getOPTA()); rdb.setText(currentQ.getOPTB()); rdc.setText(currentQ.getOPTC()); rdd.setText(currentQ.getOPTD()); qid++; } public void replaceFragment(Fragment newFragment) { FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.replace(R.id.fragment_container, newFragment); transaction.commit(); } 

}


我真的是android和java编程的新手,非常感谢任何帮助!

请执行以下步骤以获得所需的结果

  1. 最初添加一个按钮,可见性消失了。

  2. 现在将onClick的setQuestionView()调用替换为setQuestionView() button.setVisibility(View.VISIBLE);

  3. 将点击侦听器添加到按钮。

  4. 在按钮上,再次单击调用setQuestionView()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM