From this post I am going to describe a simple way to design a custom check box list for an Android application. I have presented
- AllergyFood.java- Which is the activity that included the check box list
- allergy_food.xml- Which is the layout file for check box list
- strings.xml- Which is the resource file that used for extract the values for the check box list.
What I am doing here is cerating a custom check box list with the values from the string.xml. Then let the user to put checks for their prefered values. Finally all the selected values will be stored in a string array by a button click event.
- User interface is looks like below image.
- strings.xml file is included below string array.
<string-array name="allergy_foods">
<item>Peanut</item>
<item>Tree Nut</item>
<item >Milk</item>
<item>Egg</item>
<item>Soy</item>
<item >Wheat</item>
<item>Fish</item>
<item>Shell Fish</item>
<item >Tomato</item>
<item >Strawberry</item>
</string-array>
- allergy_food.xml Layout file for check box list
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="332dp"
android:layout_weight="3.38" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Next Step" />
import android.app.ListActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.content.Intent;
public class AllergyFood extends ListActivity{
String checkedValues="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.allergy_food);
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice,getResources().getStringArray(R.array.allergy_foods)));
Button nextStep=(Button) findViewById(R.id.button1);
final ListView listView1=(ListView) findViewById(android.R.id.list);
listView1.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
listView1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
int counter=0;
checkedValues="";
while(listView1.getCheckedItemPositions().size()>counter){ if(listView1.getCheckedItemPositions().valueAt(counter)==true)
{ checkedValues=checkedValues+"|"+listView1.getItemAtPosition(counter);
}
counter++;
}
}
});
}
No comments:
Post a Comment