我要开发一个像聊天信使的应用程序
每次发送文本时,它都会显示在左侧,并且回复将显示在列表视图的右侧
我已经通过使用项目的奇数和偶数位置的自定义布局来完成它
因此,当项目是奇数位置时,它将出现在左侧,偶数将出现在右侧。
通过扩展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);
}
但是现在,我想把它放在我想要的一边,我的意思是这个位置必须独立于项目的位置,因为有时,一个人可以继续发送消息,所以它必须出现在同一侧而不是每一面都像旧的布局。
有可能吗?任何帮助将非常感谢! 感谢
答案 0 :(得分:0)
您使用的是哪种数据结构?这是可能的。您可以在数据结构中添加一个字段来保存此信息。
代表:
from - &gt;根据信息的不同,可以是1或2。
在createView方法中,您可以充气或显示正确的布局。
答案 1 :(得分:0)
是的,这可以通过简单地维护一个变量来实现,即从人那里收到消息,并且如果没有从该人那里收到该变量,则将该变量设为false。
然后检查该变量并根据需要执行任务,而不是奇数和偶数位置。