如何获取listView位置值并通过intent传递给另一个类
Posted
技术标签:
【中文标题】如何获取listView位置值并通过intent传递给另一个类【英文标题】:How to get the listView position value and pass it to another class through intent 【发布时间】:2018-06-16 15:22:06 【问题描述】:我有一个从 firebase 数据库中获取数据的列表视图。当用户点击一个项目时,他将被带到下一个屏幕。我如何获取他单击的项目的名称...假设他单击项目“A”并被定向到下一个班级。我希望在那里显示 A。我可以从意图中使用 putExtra 方法,但数据不在代码中,它在数据库中。有人可以帮我写代码吗
这是获取数据的代码,很好
ArrayList<String> arrayList = new ArrayList<>();
ListView listView = (ListView) rootView.findViewById(R.id.usersList);
ArrayAdapter<String> adapter;
adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, android.R.id.text1, al);
for(DataSnapshot ds : dataSnapshot.getChildren())
String name = ds.child("Name").getValue().toString();
// Log.d("TAG", name);
al.add(name);
listView.setAdapter(adapter);
我需要在 textview
中的下一堂课中显示该名称
name.setText();
【问题讨论】:
【参考方案1】:在你的活动中添加这个
listView.setOnItemClickListener(new OnItemClickListener()
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,int position, long arg3)
Intent intent =new Intent(getApplicationContext(),YourClassName.class);
intent.putExtra("name",al.get(position));
startActivity(intent);
);
现在正在接收活动:
name.setText(getIntent().getStringExtra("name"));
【讨论】:
【参考方案2】:您可以创建一个自定义类适配器,您将在其中扩展一个数组适配器。在您重新定义 getView 方法并将一些信息放入意图将其发送到其他活动之后。
【讨论】:
以上是关于如何获取listView位置值并通过intent传递给另一个类的主要内容,如果未能解决你的问题,请参考以下文章
如何在适配器外部的 ListView 和 GridView 中获取项目位置?