Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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
:尝试调用接口方法';int java.util.List.size()';_Java_Android - Fatal编程技术网

:尝试调用接口方法';int java.util.List.size()';

:尝试调用接口方法';int java.util.List.size()';,java,android,Java,Android,我不知道该怎么办,请帮忙 'E/AndroidRuntime:致命异常:主 进程:com.is2all.so2al_ijaba,PID:13051 java.lang.RuntimeException:无法恢复活动{com.is2all.so2al_ijaba/com.is2all.so2al_ijaba.windows_asila}:java.lang.NullPointerException:尝试在空对象引用上调用接口方法“int java.util.List.size()” 位于andro

我不知道该怎么办,请帮忙

'E/AndroidRuntime:致命异常:主 进程:com.is2all.so2al_ijaba,PID:13051 java.lang.RuntimeException:无法恢复活动{com.is2all.so2al_ijaba/com.is2all.so2al_ijaba.windows_asila}:java.lang.NullPointerException:尝试在空对象引用上调用接口方法“int java.util.List.size()” 位于android.app.ActivityThread.performResumeActivity(ActivityThread.java:3103) 位于android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134) 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2481) 位于android.app.ActivityThread.-wrap11(ActivityThread.java) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)上 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:148) 位于android.app.ActivityThread.main(ActivityThread.java:5417) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:726) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 原因:java.lang.NullPointerException:尝试对空对象引用调用接口方法“int java.util.List.size()” 在com.is2all.so2al_ijaba.windows_asila.table上(windows_asila.java:204) 在com.is2all.so2al_ijaba.windows_asila.onResume上(windows_asila.java:439) 位于android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1258) 在android.app.Activity.performResume上(Activity.java:6312) 在android.app.ActivityThread.performResumeActivity(ActivityThread.java:3092)中

守则:

public void table() {

        handler.removeCallbacks(run);
        count=30 ;
        rnd = rand.nextInt(mDataList.size());
        id = mDataList.get(rnd).ID ;
        btn.setText(mDataList.get(rnd).Question);
        btn2.setText(mDataList.get(rnd).Answer_1);
        btn3.setText(mDataList.get(rnd).Answer_2);
        btn4.setText(mDataList.get(rnd).Answer_3);
        btn5.setText(mDataList.get(rnd).Answer_4);
        count_b = mDataList.get(rnd).ID_answer;
        timer();
        if (mInterstitialAd.isLoaded() & rnd == 2 || rnd == 4 || rnd == 8 || rnd ==16 || rnd == 32 || rnd == 64 || rnd == 128 ) {
            handler.removeCallbacks(run);
            mInterstitialAd.show();
        }
}

    @Override
    protected void onResume() {
        super.onResume();
        table();

        SharedPreferences savechange =  this.getSharedPreferences
            ("savechange", Context.MODE_PRIVATE);
        int Point = savechange.getInt("Point",point);
        this.point = Point;
        btn7.setText("+نقط : "+point);
    }
看起来您的“mDataList”为空,所以当您调用
rnd=rand.nextInt(mDataList.size())


它给了你一个错误。

好吧,问题已经在你的日志中说明了。当您的活动从后台返回并恢复(看起来如此)时,您的
mDataList
为null,并且您尝试对null对象引用调用mDataList.size()

您可以随时添加检查以防止应用程序崩溃

if(mDataList != null) {
   rnd = rand.nextInt(mDataList.size());
} 

可能您在onCreate中初始化了mDataList,当您的应用程序从后台返回时,它会直接转到onResume,也可能您根本没有初始化它

mDataList为null会导致错误。它是在哪里初始化的?它不工作。我如何修复它?您在哪里设置列表数据?听起来最有可能的是,当您试图设置列表数据时,它实际上并没有被设置