我正在尝试用一个xml文件(聊天日志的)填充一个xml文件,其中包含一个可以从中获取消息文本的类。
我正在使用阵列适配器和通货膨胀。我有两个xml文件,其中一个是“messageother”,它代表其他人的消息,而“messageme”代表用户自己编写的消息。
public class MsgAdapter extends ArrayAdapter<Msg> {
private final Context context;
private final ArrayList<Msg> msgList;
private TextView tvText;
public MsgAdapter(Context context, ArrayList<Msg> messages) {
super(context, R.layout.activ, messages);
this.context=context;
this.msgList=messages;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.messageother, parent, false);
return rowView;
}
}
现在,这将只是复制“messageother”的同一个xml文件,直到它完成。相反,我想在listview中逐个检查msg.getmine()=true;如果是这样的话,我想用xml“messageme”将其放大如下:
View rowView = inflater.inflate(R.layout.messageme, parent, false);
我怎么能做这样的事?
1条答案
按热度按时间4xrmg8kj1#
下一步可能是缓存每个布局所需的所有视图,避免对每个项执行完整的“findbyid()”。。。。。。