2 つの異なるレイアウト (mycontentmtall または mycontenmotall) を使用するリストビューがあります。これらの 2 つのレイアウトをクリック時に変更したい (再度、オブジェクトを連続してクリックして、作成した 2 つの新しいレイアウト (mycontentmtallexapand または mycontentmoallexpand) から 1 つを選択したとき)。
リストビューでアイテムをクリックしても、レイアウトの変更が表示されないという問題に直面しています。
@Override
public View getView(final int position, View convertView,
ViewGroup parent) {
final ViewHolder holder;
// int type = getItemViewType(position);
final Message message = getItem(position);
if (convertView == null) {
holder = new ViewHolder();
// if (type == TYPE_MT) {
if (!message.getIsMO()) {
convertView = mInflater.inflate(R.layout.mycontentmtall,
null);
holder.body = (TextView) convertView
.findViewById(R.id.bodyMT);
holder.date = (TextView) convertView
.findViewById(R.id.dateMT);
holder.from = (TextView) convertView
.findViewById(R.id.fromMT);
holder.status = (TextView) convertView
.findViewById(R.id.statusMT);
} else {
convertView = mInflater.inflate(R.layout.mycontentmoall,
null);
holder.body = (TextView) convertView
.findViewById(R.id.bodyMO);
holder.date = (TextView) convertView
.findViewById(R.id.dateMO);
holder.from = (TextView) convertView
.findViewById(R.id.fromMO);
holder.status = (TextView) convertView
.findViewById(R.id.statusMO);
}
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
// Boolean flag = false;
// final String body = message.getBody();
convertView.setOnClickListener(new OnClickListener() {
private int pos = position;
@Override
public void onClick(View v) {
Toast.makeText(context, "Click-" + pos, Toast.LENGTH_SHORT)
.show();
View newConvertView = null;
if (!message.getIsMO()){
newConvertView = mInflater.inflate(R.layout.mycontentmtallexapand,
null);
holder.body = (TextView) newConvertView
.findViewById(R.id.bodyMTExpand);
holder.date = (TextView) newConvertView
.findViewById(R.id.dateMTExpand);
holder.from = (TextView) newConvertView
.findViewById(R.id.fromMTExpand);
holder.status = (TextView) newConvertView
.findViewById(R.id.statusMTExpand);
}
else
{
newConvertView = mInflater.inflate(R.layout.mycontentmoallexpand,
null);
holder.body = (TextVi`enter code here`ew) newConvertView
.findViewById(R.id.bodymoExpand);
holder.date = (TextView) newConvertView
.findViewById(R.id.datemoExpand);
holder.from = (TextView) newConvertView
.findViewById(R.id.frommoExpand);
holder.status = (TextView) newConvertView
.findViewById(R.id.statusmoExpand);
}
// newConvertView
// .setLayoutParams(new LayoutParams(
// LinearLayout.LayoutParams.MATCH_PARENT,
// LinearLayout.LayoutParams.WRAP_CONTENT));
holder.body.setText(message.getBody());
holder.date.setText(message.getDate());
holder.from.setText(message.getPhoneNumber());
holder.status.setText(String.valueOf(message.getStatus()));
// flag = true;
}
});
// s=body.substring(0, 20);
holder.body.setText(message.getBody());
holder.date.setText(message.getDate());
holder.from.setText(message.getPhoneNumber());
holder.status.setText(String.valueOf(message.getStatus()));
return convertView;
}