私はJava/Android開発の初心者です。私はviewflipperの中に質問/回答を動的に構築しているので、各フリップがいくつかの回答で新しい質問をします。今、私のXMLファイルでは、私はフリッパービューを持っています。以下のコードはX個の[放射グループと[4つの無線要素]]を持つ線形レイアウトを作成します。私の質問は、フリッパーの「現在の」可視ウィンドウに基づいて選択したラジオボタンを取得するにはどうすればいいですか?Java Androidを使用すると、flipperview内の動的オブジェクトにアクセスする方法はありますか?
for (DataQuizQuiz quiz_question : PLT.dataQuiz.getQuiz_data()) {
LinearLayout ll = new LinearLayout(this);
ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
ll.setOrientation(LinearLayout.VERTICAL);
RadioGroup rg = new RadioGroup(this);
TextView tv_answer = new TextView(this);
tv_answer.setText("Question: " + quiz_question.getQuestion());
ll.addView(tv_answer);
for (DataQuizAnswers answer : quiz_question.getAnswers()) {
RadioButton rb = new RadioButton(this);
rb.setText(answer.getAnswer());
rg.addView(rb);
}
ll.addView(rg);
vf_quiz_data.addView(ll);
}
私が知っているすべてはvf_quiz_data.getCurrentView()
ですが、それを超えて、私は、彼らがIDを持っていないと、オンザフライで作成されているので、その内の要素を参照する方法を知りません。コードはレイアウトを構築するために働きます。私はちょうどその中のデータをどのように参照するか分かりません。助けてくれてありがとう。
更新: 私は可視の視野でラジオグループをターゲットにする方法を思いついたが、よりよい方法が必要だと思う。私はそれがループとしてラジオグループになどカウンター0,1,2のIDが割り当てられ、これを用いた無線族元素をキャプチャ:
int selected = (int) ((RadioGroup)
vf_quiz_data.getCurrentView().findViewById(
vf_quiz_data.getDisplayedChild())).getCheckedRadioButtonId();
RadioButton b = (RadioButton) findViewById(selected);
Log.v("DEBUG",(String) b.getText());
私もカウンターのオフに基づいて、どのように安全に割り当てるのIDを確認していませんです。誰かがこれをやり遂げる別の方法を持っているなら、私に知らせてください。