Show Next Row In Listview When Previous Row's Checkbox Is Checked
I have Question regarding to Listview and CheckBox I m creating a custom ListView using following JSON data { 'title': 'Amount Field', 'settingItems': [
Solution 1:
you can set Layout Visible and Invisibile Using view.setVisibility(View.VISIBLE) or view.setVisibility(View.INVISIBLE)
Solution 2:
In this example have use the string variable that store id of selected row
MainActivity
publicclassMainActivityextendsActivity {
staticfinalStringTAG_NAME="name";
staticfinalStringTAG_ID="id";
staticStringselected="";
ListView listView;
HashMap<String, String> map;
ArrayList<HashMap<String,String>> myList;
@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myList = newArrayList<HashMap<String,String>>();
listView = (ListView) findViewById(R.id.listView1);
fillListView();
}
privatevoidfillListView() {
myList.clear();
map = newHashMap<String, String>();
map.put(TAG_ID,"1");
map.put(TAG_NAME, "Name1");
myList.add(map);
map = newHashMap<String, String>();
map.put(TAG_ID,"2");
map.put(TAG_NAME, "Name2");
myList.add(map);
map = newHashMap<String, String>();
map.put(TAG_ID,"3");
map.put(TAG_NAME, "Name3");
myList.add(map);
map = newHashMap<String, String>();
map.put(TAG_ID,"4");
map.put(TAG_NAME, "Name4");
myList.add(map);
listView.setAdapter(newMyListAdapter(this, R.layout.row, myList));
}
privateclassMyListAdapterextendsBaseAdapter
{
private List<HashMap<String,String>> List;
private LayoutInflater mInflater;
privateint layoutresource;
publicMyListAdapter(Context context,int resource,List<HashMap<String, String>> myList) {
List = myList;
mInflater = LayoutInflater.from(context);
layoutresource = resource;
}
@OverridepublicintgetCount() {
return List.size();
}
@Overridepublic Object getItem(int position) {
return List.get(position);
}
@OverridepubliclonggetItemId(int position) {
return position;
}
@Overridepublic View getView(finalint position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = mInflater.inflate(layoutresource,null);
}
finalViewrootView= convertView.findViewById(R.id.root);
ImageViewimageView= (ImageView) convertView.findViewById(R.id.imageView1);
finalTextViewname= (TextView) convertView.findViewById(R.id.textView1);
imageView.setImageDrawable(getResources().getDrawable(R.drawable.profile));
name.setTextColor(Color.parseColor("#ffffff"));
name.setText(List.get(position).get(TAG_NAME));
if ( List.get(position).get(TAG_ID).equals(selected))
name.setTextColor(Color.parseColor("#ff0000"));
else
name.setTextColor(Color.parseColor("#ffffff"));
rootView.setOnClickListener(newOnClickListener() {
@OverridepublicvoidonClick(View v) {
selected = List.get(position).get(TAG_ID);
fillListView();
}
});
name.setOnClickListener(newOnClickListener() {
@OverridepublicvoidonClick(View v) {
rootView.performClick();
}
});
imageView.setOnClickListener(newOnClickListener() {
@OverridepublicvoidonClick(View v) {
rootView.performClick();
}
});
return convertView;
}
}
}
Post a Comment for "Show Next Row In Listview When Previous Row's Checkbox Is Checked"