onClickListener не работает на макете с вкладками при просмотре карты
Привет, ребята, надеюсь, у вас все хорошо. У меня есть проблема здесь. Я работаю с cardview
внутри макета с вкладками. При использовании onclicklistener
внутри макета с вкладками это не работает. Но при использовании без макета с вкладками это работает. Как я могу использовать его в макете с вкладками.
cardview-активность:
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();
}
});
}
}
работает без вкладок
с вкладками макета это не работает
как я могу решить это?
1 ответ
Решение
Пожалуйста , используйте слушатель щелчка элемента gridview как ниже:
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, final View view, int position, long id) {
switch (position) {
case 0: break; }
}
});
Здесь вы получите позицию каждой карты.