You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Fragment中点击ListView项跳转新Activity并传值的实现方法

在Fragment中点击ListView列表项打开新Activity并传递数据

看起来你当前的代码是实现了Fragment之间的跳转,但你需要的是打开新Activity并传递选中项的值。我来帮你修改代码并拆解实现步骤:

步骤1:获取选中项的数据

首先,确保你能正确获取到ListView选中项的内容。如果你的ListView使用的是自定义Adapter(比如基于实体类),建议直接获取对应的对象而不是调用toString(),不过先按你当前的代码逻辑调整:

String selectedFromList = list.getItemAtPosition(position).toString();

步骤2:创建Intent并传递数据

在Fragment中启动Activity需要借助它所在的Activity上下文,我们可以用requireActivity()(推荐,避免空指针)或者getActivity()来获取上下文。然后通过Intent的putExtra()方法传递数据:

// 创建Intent,指定当前上下文和目标Activity类(这里替换成你实际的目标Activity)
Intent intent = new Intent(requireActivity(), TargetActivity.class);
// 传递数据,第一个参数是键(用于目标Activity接收),第二个是值
intent.putExtra("SELECTED_ITEM", selectedFromList);

步骤3:启动目标Activity

最后调用startActivity()启动新Activity即可。

完整修改后的代码

把你原来的点击事件代码替换成下面的版本:

list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        // 获取选中项的数据
        String selectedFromList = list.getItemAtPosition(position).toString();
        
        // 创建Intent并传递数据
        Intent intent = new Intent(requireActivity(), TargetActivity.class);
        intent.putExtra("SELECTED_ITEM", selectedFromList);
        
        // 启动目标Activity
        startActivity(intent);
    }
});

目标Activity接收数据的方法

在你的目标Activity(比如TargetActivity)的onCreate()方法中,通过Intent获取传递过来的数据:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_target);
    
    // 获取传递过来的数据
    if (getIntent() != null) {
        String selectedValue = getIntent().getStringExtra("SELECTED_ITEM");
        // 这里可以使用selectedValue做后续操作,比如显示在TextView上
        // textView.setText(selectedValue);
    }
}

额外提示

如果你的ListView绑定的是自定义实体类(比如SowingItem),可以这样获取更精准的数据:

// 假设你的Adapter是基于SowingItem类的
SowingItem selectedItem = (SowingItem) list.getItemAtPosition(position);
// 传递实体类的具体字段,比如名称、ID等
intent.putExtra("ITEM_ID", selectedItem.getId());
intent.putExtra("ITEM_NAME", selectedItem.getName());

内容的提问来源于stack exchange,提问作者Rahul Dhande Patil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:23:17