我有这样的代码:
public class Screening extends ListActivity implements OnClickListener{
...
Button screeningOK, set, cancel;
...
@Override
protected void onListItemClick(ListView l, View v, int position, long id)
{
super.onListItemClick(l, v, position, id);
int listPosition = position;
switch(listPosition){
case _AGESELECTION:
Dialog d = new Dialog(Screening.this);
d.setTitle(R.string.ageselector_title);
set = (Button)d.findViewById(R.id.bSet);
cancel = (Button)d.findViewById(R.id.bCancel);
//set.setOnClickListener(this);
cancel.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
finish();
}
});
d.setContentView(R.layout.agedialog);
d.show();
break;
如此简短的解释,我有一个打开对话框的列表。Dialog 有 NumberPicker、设置和取消按钮。
现在,在 Set 上,我想保存 NumPicker 值,然后取消以取消对话框。(finish(); 很可能会完成活动,但这不是问题,问题是无论我是否在点击侦听器上设置新的,例如:
set.setOnClickListener(this);
或者
cancel.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
finish();
}
});
它使我的应用程序因空指针异常而崩溃。
主类中有 onClick 功能,因为原始活动由列表、单选按钮和保存按钮组成。
我假设我已经拥有 onClickListener 的事实让我在这里很难过,但不知道是什么。
请指教。
tnx。