亲爱的 Stack Overflow 社区,
我正在尝试从日期选择器获取日期并将其设置为字符串,代码位于 onCreate 方法之外。这是我的代码:
DatePicker dp =(DatePicker)findViewById(R.id.datePickerControl);
String date_picker_message= (dp.getMonth()+1) +"/"+dp.getDayOfMonth()+"/"+dp.getYear() ;
但是,当我尝试使用此代码时,它没有错误地执行,但崩溃并显示此消息:
03-30 22:51:20.719: 错误/AndroidRuntime(4954): 由 java.lang.NullPointerException 引起
我想这可能是因为我还没有设置内容 View ,而我的代码试图找到一个尚不存在的 View 。但是我将如何在 onCreate 方法之外执行此操作?
如果我在错误的道路上尖叫,请让我知道并指导我采取正确的方法。
最佳答案
DatePicker dp =(DatePicker)findViewById(R.id.datePickerControl);
在您的类(class)中声明日期选择器... 在 create 方法中初始化它。 在您喜欢的任何地方使用它。
示例代码:
public class youractivity extends Activity {
DatePicker dp;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
dp =(DatePicker)findViewById(R.id.datePickerControl);
}
private return_type yourmethod(Arguments)
{
String date_picker_message= (dp.getMonth()+1) +"/"+dp.getDayOfMonth()+"/"+dp.getYear() ;
}
}
关于android - findViewById 空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5495169/