Here is my problem, I am trying to setText from a ListView. The problem is, I will get an error because (according to my logs) the setContentView of my main activity does not match up with the TextView i want to setText from another .xml (contactList.xml)
Jobs Activity (Main)
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.jobs);
vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
TextView assigned = (TextView) findViewById(R.id.assigned);
new ParseJobs().execute();
ParseJobs() Method
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
if (ACKNOWLEDGED.contains("False")) {
/** Updating parsed JSON data into ListView */
ListAdapter adapter = new SimpleAdapter(Jobs.this, contactList, R.layout.list_item, new String[] { job, pays, ready_at }, new int[] { R.id.job1, R.id.pays1, R.id.ready_at1 });
setListAdapter(adapter);
//TextView readyORdue = (TextView) findViewById(R.id.readyORdue);
//readyORdue.setText("Ready At:");
}
if (ACKNOWLEDGED.contains("True")) {
/** Updating parsed JSON data into ListView */
ListAdapter adapter = new SimpleAdapter(Jobs.this, contactList, R.layout.list_item, new String[] { job, pays, due_by }, new int[] { R.id.job1, R.id.pays1, R.id.due_by1 });
setListAdapter(adapter);
//TextView readyORdue = (TextView) findViewById(R.id.readyORdue);
//readyORdue.setText("Due By:");
}
VerifyDriver.dismiss();
}
}
Notice in my ParseJobs Method, I am trying to to update the TextView “readyORdue” but I will get an error because, that TextView belongs to SimpleAdapter contactList.xml
So my question is, how would i setText a textview from my contactList XML layout?
Heres My Logs:
07-17 15:55:16.703: W/dalvikvm(4387): threadid=1: thread exiting with uncaught exception (group=0x40015578)
07-17 15:55:16.703: E/AndroidRuntime(4387): FATAL EXCEPTION: main
07-17 15:55:16.703: E/AndroidRuntime(4387): java.lang.NullPointerException
07-17 15:55:16.703: E/AndroidRuntime(4387): at com.jetdelivery.mobile.Jobs$ParseJobs.onPostExecute(Jobs.java:287)
07-17 15:55:16.703: E/AndroidRuntime(4387): at com.jetdelivery.mobile.Jobs$ParseJobs.onPostExecute(Jobs.java:1)
07-17 15:55:16.703: E/AndroidRuntime(4387): at android.os.AsyncTask.finish(AsyncTask.java:417)
07-17 15:55:16.703: E/AndroidRuntime(4387): at android.os.AsyncTask.access$300(AsyncTask.java:127)
07-17 15:55:16.703: E/AndroidRuntime(4387): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
07-17 15:55:16.703: E/AndroidRuntime(4387): at android.os.Handler.dispatchMessage(Handler.java:99)
07-17 15:55:16.703: E/AndroidRuntime(4387): at android.os.Looper.loop(Looper.java:130)
07-17 15:55:16.703: E/AndroidRuntime(4387): at android.app.ActivityThread.main(ActivityThread.java:3687)
07-17 15:55:16.703: E/AndroidRuntime(4387): at java.lang.reflect.Method.invokeNative(Native Method)
07-17 15:55:16.703: E/AndroidRuntime(4387): at java.lang.reflect.Method.invoke(Method.java:507)
07-17 15:55:16.703: E/AndroidRuntime(4387): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
07-17 15:55:16.703: E/AndroidRuntime(4387): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
07-17 15:55:16.703: E/AndroidRuntime(4387): at dalvik.system.NativeStart.main(Native Method)
Line 287 is “readyORdue.setText(“Ready At:”);”
If you want to use another layout file “contactList.xml” as you described, first you need to inflate it.
Now
will give you needed TextView, add this view to some container in your R.layout.jobs to make it visible.