[英]get position of each item clicked in Listview after GridView
我设计了GridView和List视图之间的意图。 当我单击gridview的项目时,将打开与listview相关的下一个意图。 然后,当我单击列表视图的项目时,将打开新的意图以显示与列表视图的每个项目相关的文本。
有一个带有arraylist的对象,该对象也在arraylist中。 Gridview显示为列出arraylist的每个对象。 Listview显示为列出对象中arraylist的每个项目。
我得到了第一个girdview和第一个listview的项目。
我有一个问题,如何获取gridview和list视图的每个位置。
这是下面最后目的的代码。
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
switch (position){
case 0:
Toast.makeText(getApplicationContext(),"London",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(MainActivity.this,AttactivePlacesActivity.class);
intent.putExtra("position_griditem_one",position);
startActivity(intent);
break;
case 1:
Toast.makeText(getApplicationContext(),"Paris",Toast.LENGTH_SHORT).show();
startActivity(new Intent(MainActivity.this,AttactivePlacesActivity.class)
.putExtra("position_griditem_two",position));
break;
}
});
AttactivePlacesActivity
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
switch(position){
case 0:
Toast.makeText(getApplicationContext(),"London Object",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(AttactivePlacesActivity.this,AttactivePlaceObject.class);
intent.putExtra("position_listitem_one",position);
startActivity(intent);
break;
case 1:
startActivity(new Intent(AttactivePlacesActivity.this,AttactivePlaceObject.class)
.putExtra("position_listitem_two",position));
break;
}
}
});
AttactivePlaceObject
// get from a previous gridview to get each item of gridview
GridView gridView = (GridView) findViewById(R.id.gridlist);
// get from a previous listview to get each item of listview
ListView listView = (ListView) findViewById(R.id.listviewAttactivePlaces);
//gridView.getItemIdAtPosition();
//listView.getItemIdAtPosition();
ImageView attractivePlaceImage = (ImageView) findViewById(R.id.attractive_place_image);
TextView attractivePlaceInformation = (TextView) findViewById(R.id.attractive_place_detailed_information);
ImageView location = (ImageView) findViewById(R.id.location_icon);
attractivePlaceImage.setImageResource(
cityAttactivePlaces.get(0).getAttactivePlaces().get(0).getmAttaticePlaceImageResourceId());
attractivePlaceInformation.setText(cityAttactivePlaces.get(0).getAttactivePlaces().get(0).getPlaceDetailInformation());
我的目标当我单击“伦敦”时,将列出伦敦的景点。 当我单击巴黎时,将列出巴黎的景点。 单击任何城市的任何景点,详细信息将显示为“最后意图”。
如何获取gridview和listviews的位置以显示最后的意图。
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
Toast.makeText(getApplicationContext(),position+"",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(AttactivePlacesActivity.this,AttactivePlaceObject.class);
intent.putExtra("position",position);
startActivity(intent);
}
});
注-意图应该由活动发送,并且必须由活动接收。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.