onClickListener not working on tabbed layout on cardview

Hello guys hope y'all doing good. I have a problem here. I have activity with cardview inside tabbed layout. When use onclicklistener inside tabbed layout it is not working. But when use it without tabbed layout it works. How can i use it inside tabbed layout.

cardview-activity:

public class zurhai_ord extends AppCompatActivity {
GridLayout mainGrid;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_zurhai_ord);
    mainGrid = (GridLayout) findViewById(R.id.mainGrid);
    setToggleEvent(mainGrid);

}
private void setToggleEvent(GridLayout mainGrid) {
    for (int i = 0; i < mainGrid.getChildCount(); i++) {
        final CardView cardView = (CardView) mainGrid.getChildAt(i);
        final int finalI = i;
        cardView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(zurhai_ord.this, "Hello  "+ finalI, Toast.LENGTH_SHORT).show();
            }
        });
    }
}

it works without tabbed layout

[1]: https://i.sstatic.net/Yv3GW.png

with tabbed layout it doesn't work

enter image description here

how can i solve this ?

Upvotes: 0

Views: 103

Answers (1)

Hemant N. Karmur
Hemant N. Karmur

Reputation: 880

please use gridview item click listener as below:

gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, final View view, int position, long id) {
            switch (position) {
                case 0: break; }

        }
    });

here you will get a position of each card.

Upvotes: 2

Related Questions