Невозможно настроить пользовательский список в ListFragment

Я пытаюсь установить пользовательский макет Listview в ListFragment, я все время искажаю, и я все еще не могу заставить его работать. Я – новое программирование с Android, поэтому я буду очень благодарен за вашу помощь.

Это мой класс listFragment

public class ListCins extends ListFragment { public static ArrayList<Cin> cins; private ListView listView; private pListAdapter mAdapter; public static ListCins newInstance() { ListCins f = new ListCins(); return f; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); //Los fragments soportan presentar un msj cuando la lista esta vacia. setEmptyText("Nothing yet, but working"); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); cins = new ArrayList<Cin>(); cins.add(new Cin("Agenter", 1)); cins.add(new Cin("Ora", 2)); cins.add(new Cin("Vistia", 2)); cins.add(new Cin("Bluel", 2)); mAdapter = new pListAdapter(this.getActivity(), cins); setListAdapter(mAdapter); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); setEmptyText("Nothing yet 2, but working"); registerForContextMenu(getListView()); setHasOptionsMenu(true); } @Override public void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); Toast mTosat = Toast.makeText(this.getActivity(),"clicked:"+String.valueOf(position)+" "+cins.get(position).nombre , 200); mTosat.show(); } } 

И это list_fragment.xml, который я хочу применить к элементу listfragment.

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingLeft="10dp" android:paddingRight="10dp"> <ListView android:id="@id/android:list" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:drawSelectorOnTop="false" /> <TextView android:id="@android:id/empty" android:layout_width="match_parent" android:layout_height="match_parent" android:text="No data" /> </LinearLayout> 

У меня также есть настраиваемый arrayAdapter, но я не знаю, имеет ли он какое-то отношение к настраиваемому макету listview.

Заранее спасибо…

Вам нужно переопределить onCreateView и надуть / вернуть свой собственный макет. ListFragment должен обрабатывать остальное для вас. Это описано в разделе «Макет экрана» в http://developer.android.com/reference/android/app/ListFragment.html.

Спасибо NasaGeek, я пытался раздуть его так же, как они сказали, вот так:

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.list_fragment, container, false); return view; } 

Но он не работал, тогда я нашел проблему. По какой-то причине этот метод делает код безумным.

 setEmptyText("Nothing yet, but working"); 

Если бы вы могли объяснить мне, почему, это будет потрясающе.

Благодарю.