I have a class that is called when my app launches.
public class MainActivity extends Activity implements NetworkEvent.
In this situation,
list = (ListView) findViewById(R.id.list);
works perfectly. However if I then call a new intent via:
String[] names = object.names();
Intent myIntent = new Intent(MainActivity.this, SimpleList.class); myIntent.putExtra("names", names); startActivityForResult(myIntent, 0);
where SimpleList is defined as:
public class SimpleList extends ListActivity implements NetworkEvent
then when I call
list=(ListView) findViewById(R.id.list);
Log.i("MyApp", "List:" + list);
from within the SimpleList class, list is null :(
How come? Both classes are within the same package.
Thanks.
I'm not exactly sure why it is happening in your case, but the ListView
in your layout XML, must be defined as <ListView android:id="@android:id/list"
, not the typical <ListView android:id="@+id/list"
. If your class extends ListActivity
, in that case, you just use getListView()
to access the list.
Check out this: http://developer.android.com/reference/android/app/ListActivity.html
Make sure you call setContentView(R.whatever)
before you can find any ids in it.
In a similar case, findViewById
stopped working for me after adding a LinearLayout
view.
The solution was to also add the following:
xmlns:android="http://schemas.android.com/apk/res/android"
to LinearLayout.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With