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

如何获取Firebase数据源ListView点击位置值并通过Intent传值至另一类

解决ListView点击项传值并在目标页面显示的问题

没问题,我来帮你把传值和显示的逻辑补上,分两步完成:给ListView添加点击事件传递数据,然后在跳转后的Activity中接收并展示。

首先先修正你代码里的一个小笔误:你定义了ArrayList<String> arrayList = new ArrayList<>();,但循环里用的是al.add(name),这里要统一改成arrayList.add(name),不然会报变量未定义的错误。

第一步:给ListView添加点击事件,传递选中的名称

在你现有代码的listView.setAdapter(adapter);后面,添加ListView的点击监听器,获取点击项的名称并通过Intent传递:

// 给ListView设置点击事件监听器
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        // 从ArrayList中获取点击位置对应的名称
        String selectedName = arrayList.get(position);
        
        // 创建Intent,跳转到你的目标Activity(替换成你实际的目标类名,比如DetailActivity)
        Intent intent = new Intent(getActivity(), DetailActivity.class);
        
        // 把名称通过putExtra传递,这里用一个自定义的键(建议用常量,避免拼写错误)
        intent.putExtra("SELECTED_USER_NAME", selectedName);
        
        // 启动目标Activity
        startActivity(intent);
    }
});

第二步:在跳转后的Activity中接收数据并显示

假设你的目标Activity叫DetailActivity,对应的布局里有一个ID为tv_user_name的TextView,在onCreate方法中接收Intent传递的数据并设置到TextView上:

public class DetailActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_detail); // 替换成你的目标页面布局文件
        
        // 获取TextView控件
        TextView nameTextView = findViewById(R.id.tv_user_name);
        
        // 接收Intent中的数据
        Intent receivedIntent = getIntent();
        if (receivedIntent != null) {
            // 通过之前定义的键获取传递的名称
            String userName = receivedIntent.getStringExtra("SELECTED_USER_NAME");
            
            // 把名称设置到TextView上
            if (userName != null) {
                nameTextView.setText(userName);
            }
        }
    }
}

注意事项

  • 确保你的目标Activity已经在AndroidManifest.xml中注册,不然会启动失败。
  • 如果担心键名拼写错误,可以把"SELECTED_USER_NAME"定义成一个常量,比如public static final String EXTRA_USER_NAME = "SELECTED_USER_NAME";,在两个类中都引用这个常量。

内容的提问来源于stack exchange,提问作者user9027554

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:33:56