如何从列表视图中获取选中项的价值?

时间:2019-11-18 07:03:30

标签: android firebase

我正在创建一个考勤应用程序。我正在从Firebase(用户名)中填充自定义列表视图,它可以按预期工作。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@android:id/text1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:minHeight="?android:attr/listPreferredItemHeight"
        android:paddingLeft="6dip"
        android:textColor="#000000"
        android:paddingRight="10dip"
        android:textSize="14dp"
        android:textAppearance="?android:attr/textAppearanceLarge" />
    <CheckBox
        android:id="@+id/checkBox"
        android:clickable="true"
        android:gravity="center_vertical"
        android:minHeight="?android:attr/listPreferredItemHeight"
        android:paddingLeft="6dip"
        android:paddingRight="10dip"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:focusable="false"
        />
</RelativeLayout>

下面是主要活动中的列表视图

<ListView
        android:id="@+id/userlist"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"/>
    </LinearLayout>

我正在尝试通过按一下按钮从列表视图中检查其名称的那些用户的价值。以下是我的Java代码。

ListView list= view.findViewById(R.id.userlist);
 mdatabase= FirebaseDatabase.getInstance().getReference();
        final ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(), R.layout.userlist, android.R.id.text1);
        list.setAdapter(adapter);
        mdatabase.child("users").child("names").addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
                adapter.add((String) dataSnapshot.child("title").getValue());

            }

            @Override
            public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

            }

            @Override
            public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
                adapter.remove((String) dataSnapshot.child("title").getValue());

            }

            @Override
            public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
 b= view.findViewById(R.id.att); //on press of this button I need to get the value of the checked items.

不确定是否重要,但我正在使用选项卡式活动。 任何帮助,将不胜感激。

在我看来,所有重复链接似乎都无济于事。我正在尝试获取textview的价值。

0 个答案:

没有答案