ListFragment with Custom Adapter
android, android-adapter, android-listfragment, android-listview, slider
Solution
You don't pass a valid `Context` to your adapter, a `Fragment` isn't a `Context`. You need to use , for example, an `Activity` as the `Context`:
setListAdapter(new MyListAdapter(getActivity(), proMenu));
I hope you also implement the `getCount()` method in the adapter otherwise you'll not see anything in the `ListView` no matter how many elements do you have.
Problem
I have setup a `listfragment` in my project. but it seems my fragment cant get it right with my adapter. its because of `Context context` in `MyListAdapter`. if i click to correct it. it changes into `MenuFragment menuFragment`. But after that changes, `MyListAdapter` got error. so i correct it. it changes into `Context context`. and again if i correct it, its still goes on and on. its looping like that. Note: What i want to achieve is ListFragment with icon. like my other question before (but unfortunately no one answer it). ``` public class MenuFragment extends ListFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return super.onCreateView(inflater, container, savedInstanceState); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); String [] proMenu ={ "Homies", "Best Nearby", "Coupon" , "Profile" , "History" , "", "Setting" , "About" , "Sign Out"}; setListAdapter(new MyListAdapter(this, proMenu)); } @Override public void onListItemClick(ListView lv, View v, int position, long id) { Fragment newContent = null; switch (position) { case 0: newContent = new ColorFragment(); break; case 1: Intent intent7 = new Intent(); intent7.setClass(getActivity(), Home.class); intent7.putExtra("index", position); startActivity(intent7); break; ``` EDIT : This is my layout. its perfectly fine now. i just have to tweak the textview and linear layout, so that the word not cut in half. but i'm facing another problem. its like the background image is piling up each other. this is the xml on my layout. ``` <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal" android:cacheColorHint="#00000000" android:background="@drawable/menu_drawer"> <ImageView android:id="@+id/row_icon" android:layout_width="50dp" android:layout_height="50dp" android:padding="10dp" android:src="@drawable/ic_launcher" /> <TextView android:id="@+id/row_title" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center_vertical" android:padding="10dp" android:text="Medium Text" android:textSize="20dp" android:textAppearance="@android:style/TextAppearance.Medium" /> </LinearLayout> ``` And if i remove this `android:background="@drawable/menu_drawer"` from the `linear layout`. it will be the perfect background. not piling up each other. but when i'm swiping in the list, the background go nuts, its gone and showing some black background in it. its like the problem with listview `android:cacheColorHint="#00000000"`. i already added that `cachecolor` in `linear layout`. but its still showing those black background. its like this. i know whats the problem are. its because the default background are black. but i dont know how to solve it. EDIT2 : Black Problem Solved. SOLVED.