Skip to content Skip to sidebar Skip to footer

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"