Skip to content Skip to sidebar Skip to footer

Android Listview With Edittext And Checkbox For Each Element

let's say that i have a list of items and i want to build a form with each of these items. This form consist of two checkboxes and an editText. For example i want to know if each i

Solution 1:

Try to implements a cusom ListView adapter! This is easier than you might think!

First you need to create layout which would will represent each item in your list:

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><EditTextandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Test TEST" /><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="match_parent"android:layout_alignBottom="@id/itemTextView"android:layout_alignParentRight="true"><CheckBoxandroid:layout_width="wrap_content"android:layout_height="wrap_content" /><CheckBoxandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/doneCheckBox" /></LinearLayout>

Then implement cusom adapter inside your code:

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

@OverridepublicintgetCount() {
    return someItems.size();
}

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

@OverridepubliclonggetItemId(int position) {
    return position;
}

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


    Viewitem= 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 boxCheckBoxdoneCheckBox= (CheckBox)item.findViewById(R.id.doneCheckBox);

    //add a checkbox listener
    doneCheckBox.setOnCheckedChangeListener(newOnCheckedChangeListener() {
    @OverridepublicvoidonCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         if(isChecked){
            doneCheckBox.ischecked=true;
        }
        else{
            doneCheckBox.ischecked=false;
        }
    }
});

    return item;
}

don't forget to add ListView element inside your Activity layout!

Post a Comment for "Android Listview With Edittext And Checkbox For Each Element"