GridView onclick按下第二个活动按钮时不工作
让我们说我有两个活动。我们称他们为activity1和activity2。GridView onclick按下第二个活动按钮时不工作
现在activity1具有网格视图,并且每个单元格都使用适配器填充了自定义布局。该布局具有imageView和文本。现在通过适配器的getView方法通过setTag为每个布局分配一个ID。
现在activity2包含基于它从activity1获得的ID的数据。 activity2通过getIntent().getExtra().getString("ID")
获得ID,然后将该ID发送到数据库以相应地检索数据。好的,现在我们知道应用中发生了什么。
的问题
当我点击活动1上的项目的GridView它成功地打开了活性2和数据显示在活性2,但(这里来的问题),当我按后退按钮活性1打开所有gridView中的单元格停止工作onclick,并且只有一个单元格工作,这是首先单击的单元格。所以它可以是任何单元格,但是一旦你按下了它,就进入activity2并返回其他所有单元格,除了首先固定的单元格之外不会执行任何操作。 我不明白为什么会发生这种情况。
守则
public void listenToItemClick(GridView gridview)
{
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Intent intent = new Intent(mainPanel.this , itemTypeList.class);
Toast.makeText(mainPanel.this, "" + position + "ID:" + v.getTag(),
Toast.LENGTH_SHORT).show();
intent.putExtra("itemId", v.getTag() + "");
//View target =
TextView counter = (TextView) findViewById(R.id.action_user);
;
//int cartCounter = Integer.parseInt(counter.getText() + "");
intent.putExtra("cartCounter", counter.getText() + "");
startActivity(intent);
}
});
}
我打电话活性1中的onCreate此功能。
尝试在onResume()
方法,而不是onCreate()
因为onCreate()
调用listenToItemClick()
正在创建活动和onResume()
被多次调用,你可以看到here
放置功能之前super.onResume()并在此之后。没有工作。 –
@UzumakiNaruto您是否重写了像这样的onResume()方法: '@Override protected void onResume() { super.onResume(); }' –
是,并且在super.onResume()的上方和下方调用函数listenToItemClicks。但它没有工作。在恢复网格后,只响应第一个单元格。不知道什么是错的 –
我能看到的代码时,只调用一次后退按钮? –
@ DennisvanOpstal没有后退按钮的代码。它的一般的Android后退按钮。我没有覆盖任何按钮。 –
你如何从活动2回到活动1你是按下左上角的箭头(如果有的话)还是你在按手机的后退按钮? – Katharina