gpt4 book ai didi

java - 在类中使用 findViewById 时出现问题

转载 作者:行者123 更新时间:2023-12-01 09:35:21 25 4
gpt4 key购买 nike

我正在尝试创建一个类以重用评论/测验,该类具有单选按钮形式的多个选择选项。

使用以下函数,我在单个 Activity 上没有任何问题

public void onClickListenerButton(){
radioGroupReview = (RadioGroup) findViewById(R.id.radioGroupReview);
btnReviewSubmit = (Button) findViewById(R.id.btnReviewSubmit);

btnReviewSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int selection = radioGroupReview.getCheckedRadioButtonId();
radio_button = (RadioButton) findViewById(selection);

if(selection==R.id.radioCorrectAnswer) {
textrReviewResult.setText("Correct!");
btnReviewContinue.setVisibility(View.VISIBLE);
btnReviewSubmit.setVisibility(View.GONE);

} else {
textReviewResult.setText("Try Again.");

}

}
});

}

事实证明,将其应用于类很困难,因为我不确定如何替换 findViewById(selection),因此放弃了下面的 If/Else 逻辑。

public class ReviewLogic {

public void onClickListenerButton(final Button btnSubmit, final Button btnContinue, final RadioGroup radioGroup,final RadioButton radioButton, final TextView result){

btnSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int selection = radioGroup.getCheckedRadioButtonId();
radioButton = (RadioButton) findViewById(selection);

if(selection==R.id.radioCorrectAnswer) {
result.setText("Correct!");
btnContinue.setVisibility(View.VISIBLE);
btnSubmit.setVisibility(View.GONE);
} else {
result.setText("Try Again.");
}

}
});

}
}

我可以考虑哪些替换来使逻辑仍然有效但排除 findViewById?

谢谢

最佳答案

您可以尝试在 findViewById 之前添加 radioGroup,这样您将得到如下内容:

radioButton = (RadioButton) radioGroup.findViewById(selection);

关于java - 在类中使用 findViewById 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39018984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com