Android java.lang.RuntimeException:无法恢复活动

时间:2012-06-05 12:45:00

标签: java android eclipse nullpointerexception

Caused by: java.lang.NullPointerException
at com.myapp.code.WordDescription.onRestart(WordDescription.java:685)
at android.app.Instrumentation.callActivityOnRestart(Instrumentation.java:1245)
at android.app.Activity.performRestart(Activity.java:3892)
at android.app.Activity.performResume(Activity.java:3911)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2424)

我真的不明白为什么我一直在WordDescription.onRestart上收到错误。 许多人抱怨力量密切的问题。关于如何解决这个问题的任何线索?感谢

我认为这个是相关的..

public class MyArrayAdapter extends ArrayAdapter<String> {

    private final Activity context;
    private final String[] aListText;
    private final String [] meaningText;

    public MyArrayAdapter(Activity context, String[] wordText, String[] meaningText) {
        super(context, R.layout.desclist2, wordText);
        this.context=context;
        this.aListText= wordText;
        this.meaningText=meaningText;
    }
} // ..... 

@Override
public void onRestart(){
    super.onRestart();
    clickFlag = false;
    clickWordFlag = false;
    myArrayAdapter.notifyDataSetChanged();  <-- line 685
}
Handler handler = new Handler(){  <-- line 709
    @Override
    public void handleMessage(Message msg){
        progressDialog.dismiss();

        if{ ....
        }else{
            myArrayAdapter = new MyArrayAdapter(WordDescription.this, wordArray, meaningArray);
            listView.setAdapter(myArrayAdapter);
        }

    }

2 个答案:

答案 0 :(得分:3)

变化

myArrayAdapter.notifyDataSetChanged();

if(myArrayAdapter != null)
      myArrayAdapter.notifyDataSetChanged();

我强烈建议你做一些 Vipul Shah 在评论中说的话。

答案 1 :(得分:1)

尝试这样......

myArrayAdapter = new MyArrayAdapter(WordDescription.this, wordArray, meaningArray);
listView.setAdapter(myArrayAdapter);
if(myArrayAdapter != null){
      myArrayAdapter.notifyDataSetChanged();
}