我正在我的应用中实现聊天泡泡。在主类中,我在下面提到的私有类“mylistadapter”的setText行中出现错误。我在实现Android聊天泡泡时遇到错误
tekst.setText(bubbleGreen.getMessages()); <-- line I am getting error
错误消息是: 在类型TextView的方法的setText(CharSequence的)是不适用的参数(ArrayList的)
在我已经使用ArrayListgetMessages气泡类。我不知道如何解决这个错误,同时使用ArrayList。任何提示将非常感激。谢谢。
气泡类:
import java.util.ArrayList;
public class Bubbles {
private ArrayList<String> messages;
private int ikonId;
public Bubbles(ArrayList<String> messages, int ikonId){
super();
this.messages = messages;
this.ikonId=ikonId;
}
public ArrayList<String> getMessages(){
return messages;
}
public int getIkonId(){
return ikonId;
}
}
主类:
private void setListAdapter() {
// TODO Auto-generated method stub
ArrayAdapter<Bubbles> adapter = new MyListAdapter();
ListView list = (ListView) findViewById(R.id.listMessages);
list.setAdapter(adapter);
}
private class MyListAdapter extends ArrayAdapter<Bubbles> {
public MyListAdapter() {
super(XMPPChatDemoActivity.this, R.layout.list_row_layout_even, bubbles);
}
public View getView(int position, View convertView, ViewGroup parent) {
View itemView = convertView;
if (itemView == null) {
itemView = getLayoutInflater().inflate(
R.layout.list_row_layout_even, parent, false);
}
Bubbles bubbleGreen = bubbles.get(position);
ImageView imageView = (ImageView) itemView
.findViewById(R.id.even_bubble);
imageView.setImageResource(bubbleGreen.getIkonId());
TextView tekst = (TextView) itemView.findViewById(R.id.text01);
<<<tekst.setText(bubbleGreen.getMessages());>>>
return itemView;
}
}
private void bubblesList() {
// TODO Auto-generated method stub
bubbles.add(new Bubbles(messages, R.drawable.bubble_green));
}
你的适配器应该由字符串而不是气泡组成,数据集应该是bubbles.getMessages(),或者你应该改变你的Bubbles类的概念。从一个消息容器它将是一个消息,然后它应该工作 – Blackbelt
你好,我现在有两个不同的建议。检出他们两个。谢谢你的建议 – Sindre