Java 向项目中添加DatePickerDialog时出现问题
在使用安卓Studio时,我会将Java 向项目中添加DatePickerDialog时出现问题,java,android-studio,Java,Android Studio,在使用安卓Studio时,我会将DatePicker添加到我的应用程序中 import android.support.v4.app.DialogFragment; public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener { @Over
DatePicker
添加到我的应用程序中
import android.support.v4.app.DialogFragment;
public static class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
public void onDateSet(DatePicker view, int year, int month, int day) {
// Do something with the date chosen by the user
}
}
问题是我甚至不能编译这个项目。以下是错误:
Error:(6, 42) java: cannot find symbol
symbol: class DialogFragment
Error:(7, 36) java: package DatePickerDialog does not exist
我尝试导入android.support.v4.app.DialogFragment代码>,但它不存在。我还将我的项目设置为API11,因为这是该控件的最低API级别。有什么想法吗
我让datePicker以某种方式工作,但现在我在打开包含datePicker的活动时出错:
07-16 18:17:36.274 1822-1822/mycalories.com.jalle.mycalories D/AndroidRuntime﹕ Shutting down VM
07-16 18:17:36.274 1822-1822/mycalories.com.jalle.mycalories W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0xa4db2b20)
07-16 18:17:36.274 1822-1822/mycalories.com.jalle.mycalories E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: mycalories.com.jalle.mycalories, PID: 1822
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{mycalories.com.jalle.mycalories/mycalories.com.jalle.mycalories.MealsEditActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.app.Activity.findViewById(Activity.java:1884)
at mycalories.com.jalle.mycalories.MealsEditActivity.<init>(MealsEditActivity.java:23)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1208)
at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
此活动有什么问题?您是否已将android支持库添加到应用程序的build.gradle 例如:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:+'
}
然后试着重建它
例外情况:
放
下面这行
setContentView(R.layout.meals_edit);
我想知道为什么我的问题被编辑了?我写了,这是我希望URL显示的方式,不像“示例”。URL更具描述性,因为有人已经知道它是关于什么的,所以他不必打开链接。SO上有言论自由吗?堆栈溢出问题和答案是由社区维护的wiki。如果由声誉低于3000的用户进行编辑,则必须经过批准流程,但实际上,很少有编辑被拒绝。我不确定我的ap是否是用gradle构建的。我怎么检查呢?在安卓工作室。。。在您的项目中将有一个build.gradle文件。。。下面是一个示例:转到“项目结构”对话框,从列表中选择您的模块,转到“依赖项”选项卡,单击+按钮,选择“库”,然后从显示的列表中添加对v4支持库的依赖项。这样你就不必在Gradle文件中乱搞,也不可能在错误的文件中进行编辑(你的项目中有多个build.Gradle文件)。我已经创建了新的android studio项目,并将我所有的分类和资源都转移到了新项目中。现在projesct使用了gradle系统。只有一个问题让MealEdit活动在开场时崩溃了(贴在上面)你知道为什么吗?
public final EditText txtDate=(EditText) findViewById(R.id.txtDate);
setContentView(R.layout.meals_edit);