Hi, Layout: main.xml
<Relativelayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/main_btn_data"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignparentbottom="true"
android:layout_alignparentleft="true"
android:onclick="onClickData"
android:text="@string/hello" />
<Listview
android:id="@+id/listView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/main_btn_data"
android:layout_alignparentleft="true"
android:layout_alignparenttop="true" />
</Relativelayout>
<Relativelayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Textview
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignbaseline="@+id/checkBox1"
android:layout_alignbottom="@+id/checkBox1"
android:layout_alignparentleft="true"
android:text="TextView"
android:textappearance="?android:attr/textAppearanceLarge" />
<Checkbox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignparentright="true"
android:layout_alignparenttop="true" />
</Relativelayout>
MultipleCheckerActivity.java
public class MultipleCheckerActivity extends Activity {
private ListView list;
private List employee;
private EmployeeAdapter adapter;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
employee = new ArrayList();
fillData("Nishant", "Shah", 25, false);
fillData("Chirag", "Shah", 22, false);
fillData("Utsav", "Kapuriya", 22, false);
list = (ListView) findViewById(R.id.listView1);
adapter = new EmployeeAdapter(getApplicationContext(), R.layout.row_main, employee);
list.setAdapter(adapter);
}
private void fillData ( String name, String lastName, int age, boolean isSelected ) {
final EmployeeModel model = new EmployeeModel();
model.setName(name);
model.setLastName(lastName);
model.setAge(age);
model.setSelected(isSelected);
employee.add(model);
}
public void onClickData ( View view ) {
List empData = adapter.employeeData;
System.out.println("Total Size :" + empData.size());
for (EmployeeModel employeeModel : empData) {
if ( employeeModel.isSelected() ) {
Log.e("Checker", employeeModel.getName());
}
}
}
}
EmployeeAdapter.java
public class EmployeeAdapter extends BaseAdapter {
public List employeeData;
private Context mContext;
private LayoutInflater mInflater;
public EmployeeAdapter(Context context, int textViewResourceId,
List objects) {
this.employeeData = objects;
this.mContext = context;
mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.row_main, null);
holder.txtName = (TextView) convertView.findViewById(R.id.textView1);
holder.chkTick = (CheckBox) convertView.findViewById(R.id.checkBox1);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
final int pos = position;
holder.txtName.setText(employeeData.get(position).getName() + " " +
employeeData.get(position).getLastName());
holder.chkTick.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
employeeData.get(pos).setSelected(isChecked);
}
});
return convertView;
}
static class ViewHolder {
TextView txtName;
CheckBox chkTick;
}
public int getCount() {
return employeeData.size();
}
public EmployeeModel getItem(int position) {
return employeeData.get(position);
}
public long getItemId(int position) {
return 0;
}
}
EmployeeModel.java
public class EmployeeModel {
private String name;
private int age;
private String lastName;
private boolean selected;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public boolean isSelected() {
return selected;
}
public void setSelected(boolean selected) {
this.selected = selected;
}
}

1 comments: (+add yours?)
Hi! Can you please demonstrate how we can get a list of all checked items? I would very much appreciate it. Thank you!
Post a Comment