Android 使用动态布局以编程方式向listview添加项
我将开发一个类似聊天信使的应用程序 每次我发送文本时,它都会出现在列表视图的左侧,而回复则会出现在列表视图的右侧 我已经通过使用项目奇偶位置的自定义布局完成了这项工作 因此,当项目位于奇数位置时,它将显示在左侧,偶数将显示在右侧。 通过扩展BaseAdapterAndroid 使用动态布局以编程方式向listview添加项,android,layout,Android,Layout,我将开发一个类似聊天信使的应用程序 每次我发送文本时,它都会出现在列表视图的左侧,而回复则会出现在列表视图的右侧 我已经通过使用项目奇偶位置的自定义布局完成了这项工作 因此,当项目位于奇数位置时,它将显示在左侧,偶数将显示在右侧。 通过扩展BaseAdapter public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = getLayoutIn
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);
}
但是现在,我想把它放在我想要的一边,我的意思是位置必须与项目的位置独立,因为有时,一个人可以不断发送消息,所以它必须出现在同一边,而不是像旧的布局那样出现在每一边
有可能吗?任何帮助都将不胜感激!
谢谢您使用的是哪种数据结构?这是可能的。您可以在数据结构中添加一个字段来保存此信息 例如: from->可以是1或2,这取决于它是谁的消息
在createView方法中,您可以膨胀或显示正确的布局。是的,这可以通过在从此人接收消息时维护一个变量来实现,如果未从此人接收消息,则将同一变量设置为false 然后只需检查该变量,并根据需要执行任务,而不是奇数和偶数位置