1

我要开发一个像聊天信使一样的应用程序
每次我发送文本时,它都会出现在左侧,而回复将出现在列表视图的右侧
我已经通过使用奇数的自定义布局完成了和偶数位置
所以当项目是奇数位置时,它会出现在左边,偶数会出现在右边。
通过扩展 BaseAdapter

public View getView(int position, View convertView, ViewGroup parent) { 
        LayoutInflater inflater = getLayoutInflater();<br>
        View row;<br>

        if (position % 2 == 0) {<br>
            row = inflater.inflate(R.layout.list_row_layout_even,parent,false); 
            TextView textLabel = (TextView) row.findViewById(R.id.text);

            textLabel.setText(arraylist.get(position));

        } else {
            row = inflater.inflate(R.layout.list_row_layout_odd, parent,
                    false);
            TextView textLabel = (TextView) row.findViewById(R.id.text);

            textLabel.setText(arraylist.get(position));
        }

        return (row);
    }

但是现在,我想把它放在我想要的一侧,我的意思是位置必须独立于项目的位置,因为有时,一个人可以继续发送消息,所以它必须出现在同一侧而不是每一侧旧的布局。

有可能这样做吗?任何帮助将不胜感激!谢谢

4

2 回答 2

0

你正在使用什么样的数据结构?这是可能的。您可以在数据结构中添加一个字段来保存此信息。

例如:

from -> 可以是 1 或 2,具体取决于它的消息。

在 createView 方法中,您可以膨胀或显示正确的布局。

于 2012-04-13T04:18:40.733 回答
0

是的,这可以通过简单地维护一个变量来实现,无论消息是从一个人那里收到的,如果它不是从那个人那里收到的,则将相同的变量设置为 false。

然后只需检查该变量并根据需要执行您的任务,而不是奇数和偶数位置。

于 2012-04-13T04:54:07.473 回答