首页 > 解决方案 > 将按钮添加到listview firebase arraylist strings android

问题描述

我是编程新手,这是我下面的java代码我想要最简单的方法来将按钮添加到listview的每一行并将其与该行firebase子项相关联(例如投票按钮)......我应该自定义simple_list_item_1吗?或创建一个新的xml文件..请详细回答我,因为就像我说我是android tnx的新手寻求帮助

public class Main2Activity  extends ListActivity {
    String us , userId  ;
    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference ref = database.getReference();
    ArrayList<String> listItems = new ArrayList<>();
    ArrayAdapter<String> adapter;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,listItems);
        setListAdapter(adapter);
        userId = Profile.getCurrentProfile().getId() ;
        us =  Profile.getCurrentProfile().getName();

        Toast.makeText(Main2Activity.this, "HI "+us,
                Toast.LENGTH_SHORT).show();


        ProfilePictureView profilePictureView;
        profilePictureView = findViewById(R.id.ProfilePicture);
        profilePictureView.setProfileId(userId);


        ref.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {

                for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
                    String  value = childSnapshot.getValue(String.class);
                    listItems.add(value);

                }
                adapter.notifyDataSetChanged();
            }

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

            }

            @Override
            public void onChildRemoved(DataSnapshot dataSnapshot) {

            }

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

            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });

    }


}

标签: javaandroidfirebase

解决方案


android.R.layout.simple_list_item_1是对内置 XML 布局文档的引用,它是 Android 操作系统的一部分,仅包含一个TextView,因此如果您想添加另一个视图(例如按钮),您需要创建自己的布局。


推荐阅读