Android的异步任务错误错误、任务、Android

2023-09-07 03:12:45 作者:森树白云

我在Android和践行着AsyncTask的短信应用新的。当我在模拟器应用程序中运行它无法启动。错误发生致命异常AsyncTask的#1。我试图用的AsyncTask填写的收件箱。 plz帮助。

I am new in android and practicing a sms app with AsyncTask. When i run it on emulator app not start. Error occurs Fatal Exception AsyncTAsk #1. I'm trying to fill inbox using AsyncTask. Plz Help.

public class Welcome extends Activity implements OnClickListener{
ListView smslist;
Cursor cursor;
Context context;
SimpleCursorAdapter mcursor;
Button button;
private static final String TAG = "ADA CLASS";
private static final String TAG1 = "ADAPTE CLASS";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_welcome);
    button= (Button) findViewById(R.id.button1);
    button.setOnClickListener(this);
    smslist = (ListView) findViewById(R.id.listView1);

    new thrd().execute(context);
}

    class thrd extends AsyncTask<Context,Void,SimpleCursorAdapter>{
        String [] a= {"address", "body","date"};
        int[] b={R.id.textView1,R.id.textView2,R.id.textView4};
        @Override
        protected SimpleCursorAdapter doInBackground(Context... params) {
            Context c= params[0];
            Uri smsuri = Uri.parse("content://sms/inbox");
            cursor=getContentResolver().query(smsuri, null, null ,null,null);
            mcursor=new SimpleCursorAdapter(c, R.layout.row, cursor, a,b, 0);
            return mcursor;
        }

        @Override
        protected void onPostExecute(SimpleCursorAdapter result) {
            smslist.setAdapter(result);
        }
    }

@Override
public void onClick(View v) {
    Intent intent=new Intent(this, SendSMS.class);
    startActivity(intent);

}

}

推荐答案

请检查上下文的值。

=背景getApplicationContext();

context = getApplicationContext();