Android 使用onclicklistener在单击listview时启动新活动

Android 使用onclicklistener在单击listview时启动新活动,android,json,Android,Json,**我需要帮助在listview中进行简单的单击,以使用onclicklistener启动新的活动。我正在使用JSON解析数据。下面是我的代码 ** 您可以为listview设置一个值,如下所示: listview.setOnItemClickListener(new onItemClickListener(){ @Override protected void onListItemClick(ListView parent, View v, int position, long

**我需要帮助在listview中进行简单的单击,以使用onclicklistener启动新的活动。我正在使用JSON解析数据。下面是我的代码
**

您可以为listview设置一个值,如下所示:

listview.setOnItemClickListener(new onItemClickListener(){
    @Override
    protected void onListItemClick(ListView parent, View v, int position, long id){
        //Do stuff
    }
});

要将
位置
发送到其他活动:

Intent i=new Intent(MainActivity.this,CategoryDetail.class);
Bundle bundle = new Bundle(); 
bundle.putInt("Position", position); //position is one of the method arguments
i.putExtras(bundle);
startActivity(i);
要在其他活动中检索此信息,请在
onCreate
方法上设置此行:

int position = getIntent().getExtras().getInt("Position");

因为位置变量是最终变量,所以可以在onClick块中使用它:

@Override
public void onClick(View v) {
  //In case you need the object at the position
  Object objectAtPosition = getItem(position);

  Bundle bundle = new Bundle();
  bundle.putInt("YOUR_POSITION_EXTRA", position);
  Intent i=new Intent(MainActivity.this,CategoryDetail.class);
  i.putExtras(bundle);

  startActivity(i);

}

看不出有什么问题。如果这不是解决方案,您能否尝试更具体地说明您的问题是什么?

您可以直接使用位置变量来获得正确的位置?
int position = getIntent().getExtras().getInt("Position");
@Override
public void onClick(View v) {
  //In case you need the object at the position
  Object objectAtPosition = getItem(position);

  Bundle bundle = new Bundle();
  bundle.putInt("YOUR_POSITION_EXTRA", position);
  Intent i=new Intent(MainActivity.this,CategoryDetail.class);
  i.putExtras(bundle);

  startActivity(i);

}