【问题标题】:How to get the listView position value and pass it to another class through intent如何获取listView位置值并通过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();

【问题讨论】:

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


    【解决方案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 方法并将一些信息放入意图将其发送到其他活动之后。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-30
        • 1970-01-01
        相关资源
        最近更新 更多