Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么按钮不能正常工作?_Java_Android_Android Studio_Gradle - Fatal编程技术网

Java 为什么按钮不能正常工作?

Java 为什么按钮不能正常工作?,java,android,android-studio,gradle,Java,Android,Android Studio,Gradle,我搬到了格拉德尔。这是回购协议 现在按钮不能正常工作 清单文件在迁移之前工作,MainActivity的条目重复。如果我对MainActivity的第二个条目进行注释,它将运行 如果我们注释MainActivity的第一个条目并取消注释第二个条目,项目也会运行。当我这样做时,按钮在MainActivity窗口中起作用。但它们会导致按钮崩溃 02-13 00:44:13.980 13854-13854/com.mayday.md D/AbsListView﹕ Get MotionRecognit

我搬到了格拉德尔。这是回购协议

现在按钮不能正常工作

清单文件在迁移之前工作,MainActivity的条目重复。如果我对MainActivity的第二个条目进行注释,它将运行

如果我们注释MainActivity的第一个条目并取消注释第二个条目,项目也会运行。当我这样做时,按钮在MainActivity窗口中起作用。但它们会导致按钮崩溃

02-13 00:44:13.980  13854-13854/com.mayday.md D/AbsListView﹕ Get MotionRecognitionManager
02-13 00:44:13.990  13854-13854/com.mayday.md D/AndroidRuntime﹕ Shutting down VM
02-13 00:44:13.990  13854-13854/com.mayday.md W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41765da0)
02-13 00:44:14.000  13854-13854/com.mayday.md E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.mayday.md, PID: 13854
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mayday.md/com.mayday.md.MainActivity}: java.lang.NullPointerException
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2395)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2453)
            at android.app.ActivityThread.access$900(ActivityThread.java:173)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5579)
            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:1268)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at com.mayday.md.fragment.SetupMessageFragment.onActivityCreated(SetupMessageFragment.java:149)
            at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1794)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:967)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
            at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
            at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
            at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548)
            at com.mayday.md.MainActivity.onStart(MainActivity.java:219)
            at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1177)
            at android.app.Activity.performStart(Activity.java:5461)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2368)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2453)
            at android.app.ActivityThread.access$900(ActivityThread.java:173)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5579)
            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:1268)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
            at dalvik.system.NativeStart.main(Native Method)
在fragment.SetupMessageFragment中

 ...
 @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        activity = getActivity();
        if (activity != null) {
            metrics = new DisplayMetrics();
            activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);

            Fragment fragment = getFragmentManager().findFragmentById(R.id.sms_message);
            ((MessageTextFragment)fragment).setActionButtonStateListener(bAction);
            smsEditText = (EditText) fragment.getView().findViewById(R.id.message_edit_text);

            String currentMsg = SMSSettings.retrieveMessage(activity);
            if(currentMsg != null) {
                displaySettings(currentMsg);
            }
            bAction.setEnabled(!smsEditText.getText().toString().trim().equals(""));

            String pageId = getArguments().getString(PAGE_ID);
            String selectedLang = ApplicationSettings.getSelectedLanguage(activity);

            PBDatabase dbInstance = new PBDatabase(activity);
            dbInstance.open();
            currentPage = dbInstance.retrievePage(pageId, selectedLang);
            dbInstance.close();

            tvTitle.setText(currentPage.getTitle());

            if(currentPage.getContent() == null)
                tvContent.setVisibility(View.GONE);
            else
                tvContent.setText(Html.fromHtml(currentPage.getContent(), null, new MyTagHandler()));

            if(currentPage.getIntroduction() == null)
                tvIntro.setVisibility(View.GONE);
            else
                tvIntro.setText(currentPage.getIntroduction());

            if(currentPage.getWarning() == null)
                llWarning.setVisibility(View.GONE);
            else
                tvWarning.setText(currentPage.getWarning());

            bAction.setText(currentPage.getAction().get(0).getTitle());

            pageItemAdapter = new PageItemAdapter(activity, null);
            lvItems.setAdapter(pageItemAdapter);
            pageItemAdapter.setData(currentPage.getItems());

            AppUtil.updateImages(true, currentPage.getContent(), activity, metrics, tvContent, AppConstants.IMAGE_INLINE);

        }
    }
    ...

com.mayday.md.fragment.SetupMessageFragment.onActivityCreatedSetupMessageFragment.java:149是什么?MessageTextFragmentfragment.setActionButtonStateListenerbAction;这就是问题所在。在此语句之前执行空检查。然后检查上面的代码,看看您在哪里将一个变量初始化为null,并且没有再次更改它。。。顺便说一下,您应该了解如何使用堆栈跟踪。@1Darco1非常有用。我不知道在logcat中查找何处,但现在我看到了起因:java.lang.NullPointerException,因此我将在将来查找起因。我是Java和Android开发的新手。我能够为两个片段设置空指针,这两个片段分别是contact_edit_text和sms_message,以及代码失败的其他几个地方。但问题的根源是为什么这些片段无法加载?