首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何通过单击中的一个按钮来隐藏/显示活动中的视图?

如何通过单击中的一个按钮来隐藏/显示活动中的视图?
EN

Stack Overflow用户
提问于 2019-05-03 09:30:57
回答 1查看 478关注 0票数 0

作为实习,我正在开发一个商业应用程序。在其中一个活动中,我有两个片段的选项卡视图。在每个片段中,我使用卡视图来保存视图。卡视图有一个图像视图、两个文本视图和一个按钮,在选项卡视图下方的活动底部,有一个按钮,其可见模式为"GONE"

现在我想要的是,每当我单击卡片视图中的按钮时,活动底部的按钮应该隐藏/显示相应的单击。

Cardcaptionadapter.java

代码语言:javascript
代码运行次数:0
运行
复制
   public CaptionedImagesAdapterMenu.ViewHolder onCreateViewHolder(
            ViewGroup parent, int viewType){
        CardView cv = (CardView) LayoutInflater.from(parent.getContext())
                .inflate(R.layout.card_captioned_image_menu, parent, false);
        return new ViewHolder(cv);
    }
    @Override
    public void onBindViewHolder(ViewHolder holder, final int position){
        CardView cardView = holder.cardView;
        ImageView imageView = (ImageView)cardView.findViewById(R.id.info_image);
        Drawable drawable = ContextCompat.getDrawable(cardView.getContext(), imageIds[position]);
        imageView.setImageDrawable(drawable);
        imageView.setContentDescription(captions[position]);
        TextView textView = (TextView)cardView.findViewById(R.id.info_text);
        textView.setText(captions[position]);
        TextView textView1 = cardView.findViewById(R.id.info_menu);
        textView1.setText(desc[position]);
        TextView textView2 = cardView.findViewById(R.id.info_price);
        textView2.setText("₹ " + price[position]);
        cardView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (listener != null) {
                    listener.onClick(position);
                }
            }
        });
        holder.button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(holder.button.getText().equals("ADD")){
                    holder.button.setText("ADDED");
                    holder.button.setBackgroundColor(Color.parseColor("#00ff00"));
                    SharedPreferences sharedPref = context.getSharedPreferences("ADD",0);
                    SharedPreferences.Editor editor = sharedPref.edit();
                    editor.putInt("ADDED", 1);
                    editor.apply();
                }
                else {
                    holder.button.setText("ADD");
                    holder.button.setBackgroundColor(Color.parseColor("#ffffff"));
                    SharedPreferences sharedPref = context.getSharedPreferences("ADD",0);
                    SharedPreferences.Editor editor = sharedPref.edit();
                    editor.clear();
                    editor.apply();
                }
            }
        });
    }

MenuActivity.java

代码语言:javascript
代码运行次数:0
运行
复制
 SharedPreferences preferences = getSharedPreferences("ADD",0);
         int addvalue = preferences.getInt("ADDED",0);

         if(addvalue==1){
             orderbutton.setVisibility(View.VISIBLE);
         }
         else{
             orderbutton.setVisibility(View.GONE);
         }
         orderbutton.setOnClickListener(view -> {
             orderbutton.setVisibility(View.GONE);
             paybutton.setVisibility(View.VISIBLE);
         });
EN

回答 1

Stack Overflow用户

发布于 2019-05-30 07:50:33

您还应该在公共的onBindViewHolder(ViewHolder holder,最终int位置)方法中添加ViewHolder代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55966979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档