如何显示/隐藏listview元素?

时间:2016-02-14 13:35:19

标签: android listview android-studio

我正在创建聊天应用程序。我想显示用户点击消息的时间

enter image description here。此功能在BaseAdapter的getView()中使用此代码

KeyError: 'Male'

但我想再添加一个功能,如下图所示,如果我点击每条消息,每条消息都显示其时间,但我想实现像skype这样的东西,如果用户看到任何消息的时间,那么首先它会检查以前的消息。如果之前的任何消息显示时间,那么它应该是隐藏&最近应该显示用户点击的消息。请帮助它是如何可能的。这就是问题:(见图)

enter image description here

2 个答案:

答案 0 :(得分:0)

由于您已经实现了时间并且已将其添加到每个列表项中,因此您可以将列表视图中的最后一项设置为View.VISIBLE,其余项目设置为View.GONE。

答案 1 :(得分:0)

你保留了一个属性:

View selectedMessage;

当用户点击某条消息时设置的位置,并验证它:

...
@Override
public void onClick(View v) {
    if (selectedMessage != null && v != selectedMessage) {
         Holder h = (Holder) selectedMessage.getTag();
         h.hideTime();

         h = (Holder) v.getTag();
         h.showTime();

        selectedMessage = v;
    }
    ...
}
...

值得注意的是,这个Holder界面将是您创建的,实现方法showTimehideTime这不是Android内置的