1
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);
        }

    }
4

2 回答 2

3

改变

myArrayAdapter.notifyDataSetChanged();

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

我强烈建议您按照Vipul Shah在评论中所说的去做。

于 2012-06-05T12:47:43.310 回答
1

试试这样...

myArrayAdapter = new MyArrayAdapter(WordDescription.this, wordArray, meaningArray);
listView.setAdapter(myArrayAdapter);
if(myArrayAdapter != null){
      myArrayAdapter.notifyDataSetChanged();
}
于 2012-06-05T13:24:06.230 回答