2016-04-11 17 views
0

Lassen Sie uns sagen, dass ich eine Liste von Elementen habe, und ich möchte ein Formular mit jedem dieser Elemente erstellen. Dieses Formular besteht aus zwei Checkboxen und einem editText. Zum Beispiel möchte ich wissen, ob jeder Artikel in einem Lagerhaus und seiner Menge vorhanden ist. Ich denke für das Lösen meines Problems, um eine Listview zu verwenden, in der jedes Element meiner Listview den Namen eines Einzelteils, zwei Checkboxen und einen redigierenText enthält.
Das Problem ist, dass die einzige Verwendung von ListView ich Liste der Elemente zu präsentieren weiß, ich nicht, wie ich mein Problem damit lösen (ich bin ein Anfänger in Android). Kann mir jemand helfen ?
Gibt es eine andere Möglichkeit, mein Problem zu lösen?
Vielen DankAndroid Listview mit editText und Kontrollkästchen für jedes Element

+0

Es gibt ein ähnliches Problem. Bitte überprüfen Sie diese >> http://stackoverflow.com/questions/8166497/custom-adapter-for-list-view –

+0

Ihre Lösung hier: http://www.webplusandroid.com/creating-listview-with-edittext -und-textwatcher-in-android/ –

Antwort

0

Versuchen Sie, einen Cusom ListView Adapter zu implementieren! Das ist einfacher als Sie vielleicht denken!

Zuerst müssen Sie das Layout erstellen, die jedes Objekt in der Liste darstellen würde:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Test TEST" /> 

<LinearLayout android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_alignBottom="@id/itemTextView" 
    android:layout_alignParentRight="true"> 
    <CheckBox 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <CheckBox 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/doneCheckBox" /> 
</LinearLayout> 

Dann cusom Adapter in Ihrem Code implementieren:

public CusomAdapter(Context mainContex, YourItems<SomeItem> someItems) { 
    this.mainContex = mainContex; 
    this.someItems = someItems; 
} 

@Override 
public int getCount() { 
    return someItems.size(); 
} 

@Override 
public Object getItem(int position) { 
    return someItems.get(position); 
} 

@Override 
public long getItemId(int position) { 
    return position; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 


    View item = convertView; 
    if (item == null) { 
     item = LayoutInflater.from(mainContex).inflate(R.layout.shoplist_item, null); // your listView layout here! 
    } 

    //fill listView item with your data here! 
    //initiate your check box 
    CheckBox doneCheckBox = (CheckBox)item.findViewById(R.id.doneCheckBox); 

    //add a checkbox listener 
    doneCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
    @Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
     if(isChecked){ 
      doneCheckBox.ischecked=true; 
     } 
     else{ 
      doneCheckBox.ischecked=false; 
     } 
    } 
}); 

    return item; 
} 

nicht vergessen Listview-Element hinzufügen in deinem Aktivitätslayout!

+0

Dies wird das Problem nicht lösen. –

+0

haben Sie eine Lösung ohne Checkbox-Listener, aber mit einem TextWatcher bereitgestellt. –

Verwandte Themen