【问题标题】:Show/Hide button in listview android,在listview android中显示/隐藏按钮,
【发布时间】:2014-01-13 13:51:35
【问题描述】:

谁能知道我如何在 ListView 中制作这样的东西?

当 ListView 中的一个项目被点击时,imageButton 变得可见。

http://img850.imageshack.us/img850/2377/is4t.png

然后您单击另一个项目,您单击的上一个项目变得不可见,而实际项目使图像按钮可见。

http://img14.imageshack.us/img14/1920/lnpy.png

我已经搜索过这个,但我还没有找到我想要的东西。而且我试图使该按钮在该视图的 onItemClick 上可见,但是,当我单击另一个按钮时,前一个项目仍然可见。我试图做 notifyDataBaseChanged 但仍然存在。谢谢你的帮助,对不起我的英语不好。

¿如何访问上一个项目视图以将按钮设置为 View.GONE ? 代码:

listView.setOnItemClickListener(new OnItemClickListener() {


        @Override
        public void onItemClick(AdapterView<?> arg0, View view, int position,
                long arg3) {
            // TODO Auto-generated method stub
            MPlayer.playSong(position);
            Button bPlaying = (Buttton)view.findViewById(R.id.button1);
            bPlaying.setVisibility(View.VISIBLE);
            ca.notifyDataSetChanged();
        }
    });

【问题讨论】:

  • 您已经有了几乎可行的解决方案。您所需要的只是隐藏另一个图标。您应该发布您尝试过的代码并提出特定问题。
  • 是的,但问题是我如何才能访问上一个视图以隐藏该按钮?
  • 您可能需要合并另一个变量,该变量代表您将图标添加到的最后一个视图。
  • 是啊啊啊啊!当然 !谢谢^^现在工作!
  • 发布您的自定义适配器

标签: android listview button hide show


【解决方案1】:

不是最好的解决方案,但希望这可以帮助您解决问题

private Button previousButton = null;    
listView.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View view, int position, long arg3) {
        MPlayer.playSong(position);
        if(previousButton != null){
            previousButton.setVisibility(View.GONE);
        }
        Button bPlaying = (Buttton)view.findViewById(R.id.button1);
        bPlaying.setVisibility(View.VISIBLE);
        previousButton = bPlaying;
        ca.notifyDataSetChanged();
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    • 1970-01-01
    • 2012-10-12
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    相关资源
    最近更新 更多