Android GridView Button Click Handler

前端 未结 4 1526
名媛妹妹
名媛妹妹 2021-01-05 14:17

I have an Android GridView with an ImageView, TextView and two Button\'s. The Grid is appearing fine but I am finding it

4条回答
  •  滥情空心
    2021-01-05 14:46

    Either setting OnClick listener inside adapter and listen to the same click, as explained in the following blog

    inside adapter

     holder.okay_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ((GridView)parent).performItemClick(v,position,0);
    
            }
        });
     holder.cancel_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ((GridView)parent).performItemClick(v,position,0);
    
            }
        });
    

    IN the java file.

    gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView parent, View view, int        position, long id) {
               switch(view.getId)
            {
             case R.id.okay_button:
               //do your stuff
               break; 
             case R.id.cancel_button:
               //do your stuff 
                break;
                }
        });
    

    Note:if you are using more than one child item click listener, use switch case to check which item is clicked inside SetOnItemClickListener.Because Using if else triggers all click listener you have in your adapter. if any good solution for this is there let me know. Thanks.

提交回复
热议问题