5

Ich versuche, ein benutzerdefiniertes Listview-Layout auf einem ListFragment zu setzen, ich habe überall reasearching und ich kann es immer noch nicht funktionieren. Ich bin neu programmiert mit Android, also werde ich deine Hilfe wirklich schätzen.Ich kann keine benutzerdefinierte Listview auf ListFragment setzen

Das ist mein listFragment Klasse

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(); 


} 



} 

Und das ist die list_fragment.xml i auf den listfragment anwenden möchten.

<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> 

Ich habe auch eine benutzerdefinierte arrayAdapter, aber ich weiß nicht, ob es etwas mit dem benutzerdefinierten Layout Listview zu tun hat.

Vielen Dank im Voraus ...

+1

Es tut mir leid, aber ich verstehe nicht, was Sie Frage ist. Hast du es selbst versucht? Welches spezielle Problem haben Sie? – Aashir

Antwort

3

Dank NasaGeek, ich versuchte es aufzublasen wie sie sagte, wie folgt aus:

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

aber es wasen't arbeiten, dann fand ich das Problem . Aus irgendeinem Grund macht diese Methode den Code wie verrückt verrückt.

setEmptyText("Nothing yet, but working"); 

Wenn Sie mir erklären könnten, warum, wird es genial sein.

Danke.

+0

... findViewById (android.R.id.list) ... –