Sam Gould
Sam Gould

Reputation: 3

findviewbyid returns null, what could be the issue?

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

Answers (2)

Diego Torres Milano
Diego Torres Milano

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

Actiwitty
Actiwitty

Reputation: 1242

Change

ListView list = (ListView)findViewById(android.R.id.list);

to

ListView list = (ListView)findViewById(R.id.list);

Upvotes: 1

Related Questions