Reputation: 3
I have searched and searched and tried everything I've found to solve this issue to no avail for the past several days. I'm working on my first android app and for the life of me cannot figure out why findViewById returns null in this case.
Here's the Java
package com.tellme.tellme;
import android.app.ListActivity;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.List;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
String[] posts = {"ex0", "ex1", "ex2"};
ListView list = (ListView)findViewById(android.R.id.list);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(list.getContext(), android.R.layout.simple_list_item_1, posts);
list.setAdapter(adapter);
}
}
And here's the XML in my activity_main.xml file
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.tellme.tellme.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="#ff0000"
app:popupTheme="@style/AppTheme.PopupOverlay">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tell Me"
android:textSize="30dp"
android:textStyle="bold"
android:fontFamily="cursive"
android:layout_gravity="left"
android:id="@+id/toolbar_title" />
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<ListView
android:paddingTop="60dp"
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/editText" >
</ListView>
</android.support.design.widget.CoordinatorLayout>
What could possibly be the issue?
Upvotes: 0
Views: 225
Reputation: 69388
You are invoking findViewById()
with android.R.id.list
instead of R.id.list
(which is in your app's package).
Upvotes: 4
Reputation: 1242
Change
ListView list = (ListView)findViewById(android.R.id.list);
to
ListView list = (ListView)findViewById(R.id.list);
Upvotes: 1