android - findViewById 空指针异常

标签 android android-widget datepicker nullpointerexception

亲爱的 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/

相关文章:

javascript - jqgrid 内联编辑时日期选择器中的 minDate

EditText 字段中错误文本的 Android 问题

java - Android 时间小部件未接收更新

Android fragment 事务 : How to generate an overlay slide in and move existing Fragement to left

android - 一个ScrollView不能添加多个 View 吗?

vue.js - 使用 vuejs-datepicker 如何自定义每个日期的外观?

javascript - 日期选择器在表单重新加载后显示选定的值

Android WebView 处理 onReceivedClientCertRequest

android - 垂直对齐按钮和textview组件android

android - 从 fragment 中获取 edittext 值