pav*_*ver 2 android dialog nullpointerexception findviewbyid
这是我的代码
@Override
public void onClick(View v) {
final AlertDialog.Builder adb = new AlertDialog.Builder(getApplicationContext());
adb.setView(LayoutInflater.from(getApplicationContext()).inflate(R.layout.custom, null));
adb.setPositiveButton("Add",new android.content.DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int arg1) {
DatePicker datePicker = (DatePicker)findViewById(R.id.datePicker);
java.util.Date date = null;
Calendar cal = GregorianCalendar.getInstance();
cal.set(datePicker.getYear(),datePicker.getMonth(), datePicker.getDayOfMonth());
date = cal.getTime();
}
});
adb.show();
}
Run Code Online (Sandbox Code Playgroud)
我在这一行中有NullPointerException,我认为datePicker不是findById,因为我使用AlertDialog.Builder.
cal.set(datePicker.getYear(),datePicker.getMonth(),datePicker.getDayOfMonth());
我试过使用adb.findViewById();但它是一个错误(方法findViewById(int)未定义类型AlertDialog.Builder).你能帮我吗?
Kha*_*aza 15
更改
DatePicker datePicker = (DatePicker)findViewById(R.id.datePicker);
Run Code Online (Sandbox Code Playgroud)
这行到
DatePicker datePicker = (DatePicker)adb.findViewById(R.id.datePicker);
Run Code Online (Sandbox Code Playgroud)
...............
试试这个:
final AlertDialog.Builder adb = new AlertDialog.Builder(this);
final View view = LayoutInflater.from(getApplicationContext()).inflate(R.layout.main1, null);
adb.setView(view);
final Dialog dialog;
adb.setPositiveButton("Add",new android.content.DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int arg1) {
DatePicker datePicker = (DatePicker)view.findViewById(R.id.datePicker1);
java.util.Date date = null;
Calendar cal = GregorianCalendar.getInstance();
cal.set(datePicker.getYear(),datePicker.getMonth(), datePicker.getDayOfMonth());
date = cal.getTime();
}
});
dialog = adb.create();
dialog.show();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8074 次 |
| 最近记录: |