隐藏在应用程序中登录的当前用户的复选框 [英] Hide a Checkbox for the current user that is logged in the App

查看:78
本文介绍了隐藏在应用程序中登录的当前用户的复选框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试为登录的用户隐藏 CheckBox .我使用 populateViewholder RecyclerView 中显示来自Firebase的数据.而且我想对当前登录的用户隐藏 CheckBox .但是我正在努力使其正确.

I am trying to hide a CheckBox for the user that is logged in. I display my data from firebase in a RecyclerView with populateViewholder. And I want to hide the CheckBox from the current user logged in. But I am struggling to get it right.

MainActivity:

MainActivity:

public class WishItemsActivity extends AppCompatActivity {

private FirebaseAuth mAuth;
private DatabaseReference UsersRef, WishListRef, WishItemsRef;

static String currentUserID;

private ImageButton ibaddnewwishlistitem;

private String Key, databaseUserID;

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

    Key = getIntent().getExtras().get("Key").toString();

    mAuth = FirebaseAuth.getInstance();

    currentUserID = mAuth.getCurrentUser().getUid();

    UsersRef = FirebaseDatabase.getInstance().getReference().child("Brukere");
    WishListRef = FirebaseDatabase.getInstance().getReference().child("Ønskelister");
    WishItemsRef = FirebaseDatabase.getInstance().getReference().child("Ønsker");

    mToolbar = (Toolbar) findViewById(R.id.main_page_toolbar);
    setSupportActionBar(mToolbar);
    getSupportActionBar().setTitle(" Ønsker");


    ibaddnewwishlistitem = (ImageButton) findViewById(R.id.ib_addnewwishitem);

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    navigationView = (NavigationView) findViewById(R.id.navigation_view);

    WishItemList = (RecyclerView) findViewById(R.id.rv_wishitemslist);
    WishItemList.setHasFixedSize(true);
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
    linearLayoutManager.setReverseLayout(true);
    linearLayoutManager.setStackFromEnd(true);
    WishItemList.setLayoutManager(linearLayoutManager);



    ibaddnewwishlistitem.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            SendUserToAddWishItemActivity();

        }
    });

    DisplayUserWishItems();


}

private void DisplayUserWishItems() {

    FirebaseRecyclerAdapter<WishItemClass, WishItemViewHolder> firebaseRecyclerAdapter =
            new FirebaseRecyclerAdapter<WishItemClass, WishItemViewHolder>
                    (
                            WishItemClass.class,
                            R.layout.single_list_item,
                            WishItemViewHolder.class,
                            WishItemsRef.child(Key)


                    ) {
                @Override
                protected void populateViewHolder(WishItemViewHolder viewHolder, WishItemClass model, final int position) {


                    final String PostKey = getRef(position).getKey();


                    viewHolder.setWishitemname(model.getWishitemname());


                    viewHolder.setChecked(model.isChecked());



                    viewHolder.mView.setOnLongClickListener(new View.OnLongClickListener() {
                        @Override
                        public boolean onLongClick(View view) {

                            Intent cliconwishitem = new Intent(WishItemsActivity.this, ClickOnWishItemActivity.class);
                            cliconwishitem.putExtra("PostKey", PostKey);
                            cliconwishitem.putExtra("Key", Key);
                            startActivity(cliconwishitem);


                            return false;
                        }
                    });


                    viewHolder.mView.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {


                        }
                    });
                }
            };


    WishItemList.setAdapter(firebaseRecyclerAdapter);


}

public static class WishItemViewHolder extends RecyclerView.ViewHolder {

    View mView;


    public WishItemViewHolder(@NonNull View itemView) {
        super(itemView);
        mView = itemView;

    }

    public void setWishitemname(String wishitemname) {

        TextView wishitemname1 = (TextView) mView.findViewById(R.id.tv_wishitemname);
        wishitemname1.setText(wishitemname);
    }

    public void setChecked (boolean Checked){


        CheckBox checked = (CheckBox)mView.findViewById(R.id.checkBox);
        checked.setChecked(Checked);


    }


}


private void SendUserToAddWishItemActivity() {

    Intent addwishitem = new Intent(WishItemsActivity.this, AddWishItemActivity.class);
    addwishitem.putExtra("Key", Key);
    startActivity(addwishitem);
}



private void SendUserToMainUserActivity() {

    Intent mainuseractivity = new Intent(WishItemsActivity.this, MainUserActivity.class);
    startActivity(mainuseractivity);
}

private void SendUserToAddWishListActivity() {

    Intent addwishlistactivity = new Intent(WishItemsActivity.this, AddWishItemActivity.class);
    startActivity(addwishlistactivity);

推荐答案

您正在从Firebase身份验证中获取 currentUserId .因此,您可以基于 currentUserId 隐藏/取消隐藏复选框.

You are getting currentUserId from firebase auth. So you can hide/unhide checkbox based on currentUserId.

if(currentUserId != null){
    checked.setVisibility(View.INVISIBLE);
}

这篇关于隐藏在应用程序中登录的当前用户的复选框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆