Android - findViewById returns null

I have a problem that seems pretty common on the Internet: I created activity with only a fragment. This is the generated code:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_customer); if (savedInstanceState == null) { getFragmentManager().beginTransaction() .add(R.id.container, new PlaceholderFragment()).commit(); ListView lv = (ListView) findViewById(android.R.id.list); } } 

After or inside the condition, I cannot get any object using findViewById: it is always zero. Here is the rest of the generated code:

 public static class PlaceholderFragment extends Fragment { public PlaceholderFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_customer, container, false); return rootView; } 

activity_customer.xml:

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.axacs.marc.CustomerActivity" tools:ignore="MergeRootFrame" /> 

listview is actually located in fragment_customer.xml:

 <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/new_folder_button" android:text="" /> 

Does anyone know what is missing?

+8
android nullpointerexception findviewbyid android-fragments
source share
1 answer

use the following command after moving this line to onCreateView () if you want to use your list in your fragment

 ListView lv = (ListView)rootview.findViewById(android.R.id.list); 
+22
source share

All Articles