0
ArrayList<Message> msg;
public View getView(int position, View convertView, ViewGroup parent) {
Message message = (Message) this.getItem(position);
Holder holder;
if (convertView == null) {
holder = new Holder();
convertView = LayoutInflater.from(mContext).inflate(R.layout.activity_list, parent, false);
holder.imageView = (ImageView) convertView.findViewById(R.id.img);
convertView.setTag(holder);
} else {
holder = (Holder) convertView.getTag();
}
mAlphaSplit = new Character[message.getMessage().length()];
for (int i = 0; i < message.getMessage().length(); i++) {
mAlphaSplit[i] = new Character(message.getMessage().charAt(i));
for (int j = 0; j < ALPHA.length; j++) {
if (mAlphaSplit[i] == ALPHA[j]) {
holder.imageView.setImageResource(ICONS[j]);
break;
}
}
}
LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) holder.imageView.getLayoutParams();
if (message.isMine()) {
holder.imageView.setBackgroundResource(R.drawable.bubble_mine);
lp.gravity = Gravity.RIGHT;
} else {
holder.imageView.setBackgroundResource(R.drawable.bubble_not_mine);
lp.gravity = Gravity.LEFT;
}
holder.imageView.setLayoutParams(lp);
return convertView;
}
這是我的getview方法。我想獲得每個字母的相應圖片,但輸入了一些東西后。最後一個相應的圖像將只是要返回的圖像。androiod:Arraylist getview與ImageView只返回最後一個數據
我getCount將
public int getCount() {
return msg.size();
}
我已經嘗試過該行的代碼,但是當我嘗試運行項目。它在'if(mAlpha == ALPHA [j])行處有'if(mAlphaSplit [position] == ALPHA [j])'NullPointerException異常' – tin
它表示「StringIndexOutOfBoundsException」 – tin
致命異常:主 10- 20 11:53:58.348 29163-29163/com.app.messaging.messagingapp E/AndroidRuntime:進程:com.app.messaging.messagingapp,PID:29163 10-20 11:53:58.348 29163-29163/com.app .messaging.messagingapp E/AndroidRuntime:java.lang.StringIndexOutOfBoundsException:length = 2; index = 10 – tin