我有一个Android应用,我希望为用户提供使用不同字段订购表格的选择。我使用了一个带有三个单选按钮的对话框,可以选择每种排序类型。
以下是对话框代码中声明单选按钮
的代码 LayoutInflater layoutInflater = (LayoutInflater)
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View layout = layoutInflater.inflate(R.layout.lectindex_dialog, (ViewGroup) findViewById(R.id.lect_index));
builder.setView(layout);
// Now configure the AlertDialog
builder.setTitle(R.string.exindex_title);
final RadioButton radio_date = (RadioButton) findViewById(R.id.RBdate);
final RadioButton radio_loctn = (RadioButton) findViewById(R.id.RBloctn);
final RadioButton radio_stream = (RadioButton) findViewById(R.id.RBstream);
radio_date.setOnClickListener(radio_listener);
radio_loctn.setOnClickListener(radio_listener);
radio_stream.setOnClickListener(radio_listener);
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// We forcefully dismiss and remove the Dialog, so it cannot be used again (no cached info)
LecturesActivity.this.removeDialog(SELINDEX_DIALOG_ID);
}
});
radio_listener的代码是单独声明的,如此
private OnClickListener radio_listener = new OnClickListener() {
public void onClick(View v) {
// Perform action on clicks
RadioButton rb = (RadioButton) v;
Toast.makeText(LecturesActivity.this, rb.getText(), Toast.LENGTH_SHORT).show();
}
};
一切似乎都运行正常但是radio_listener的代码永远不会被使用,为什么?
答案 0 :(得分:0)
您是否尝试使用RadioGroup而不是单独的单选按钮?你可以通过减少头痛IMO来更好地控制自己的行为
答案 1 :(得分:0)
从未调用错误和radio_listener的原因是它在尝试使用radio_date时抛出错误,因为它未正确声明。当我将声明更改为最终的RadioButton radio_date =(RadioButton)layout.findViewById(R.id.RBdate); 其中layout是对话框的id,代码完美运行。