如何获取listView位置值并通过intent将其传递给另一个类

时间:2018-01-07 12:02:28

标签: android listview firebase android-intent firebase-realtime-database

我有一个listview,它从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();

2 个答案:

答案 0 :(得分:0)

在你的行动中添加这个

 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"));

答案 1 :(得分:0)

您可以创建自定义类适配器,您将在其中扩展arrayadapter。重新定义getView方法后,只需将一些信息放入intent即可将其发送到其他活动。