1. Ocram, 02.11.2011 #1
    Ocram

    Ocram Threadstarter Erfahrener Benutzer

    Hallo,

    habe jetzt seit gestern eifrig im Internet gesucht, ob es irgendein Tutorial gibt, welches mir beschreibt, wie ich eine ListView programmiere, welche sich durch einen Klick auf ein Element updatet. Nachdem ich nun mehrere Tutorials durchgegangen bin, habe ich es geschafft.

    Es basiert auf dem Tutorial vom DailyDevBook. Die Main.xml sowie die Listen.xml sind fast baugleich mit dem Tutorial. Nur habe ich andere ID's benutzt. Diese erkennt man dann in dem Java-Code unterhalb.

    Hier der Code und ich hoffe ein Einsteiger, wie ich, kann es gebrauchen :)

    Code:
    import java.util.ArrayList;
    import java.util.HashMap;
    
    import android.app.ListActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.ListView;
    import android.widget.SimpleAdapter;
    
    public class ListViewZweiSpaltigActivity extends ListActivity {
    	
    	private ArrayList<HashMap<String, String>> myListContent = 
    			new ArrayList<HashMap<String, String>>();
    	private SimpleAdapter adapter;
    	private int i;
    	
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            adapter = new SimpleAdapter(
            		this,
            		myListContent,
            		R.layout.list_item_zweispaltig,
            		new String[] {"Spalte_1", "Spalte_2"},
            		new int[] {R.id.text1, R.id.text2});
            
            setListAdapter(adapter);
            
            for(i = 0; i < 5; i++){
            	HashMap<String, String> item = new HashMap<String, String>();
            	item.put("Spalte_1", "Zeile Nr. " + String.valueOf(i));
            	item.put("Spalte_2", "Position Nr. : " + String.valueOf(i));
            	myListContent.add(item);
            }
            
            ListView lv = getListView();
            
            lv.setOnItemClickListener(new OnItemClickListener(){
            	public void onItemClick(AdapterView<?> parent, View view, int position, long id){
            		HashMap<String, String> item;
            		item = myListContent.get(position);
            		item.get("Spalte_1");
            		item.put("Spalte_1", "Position " + position + " gelöscht!");
            		myListContent.set(position, item);
            		adapter.notifyDataSetChanged();
            	}
            });
            	
            for(i *= 1; i < 21; i++){
    			HashMap<String, String> item = new HashMap<String, String>();
    			item.put("Spalte_1", "Zeile Nr. " + String.valueOf(i));
    			item.put("Spalte_2", "Position Nr. " + String.valueOf(i));
    			myListContent.add(item);
            }
        }
    }
     
  2. Nicodil, 26.09.2013 #2
    Nicodil

    Nicodil Neuer Benutzer

    Und das kopiere ich in die MainActivity.java?