我有一个ListView
与onClicklListener
。更改查看清单项目点击
的ListView
有一排Layout
的说/res/listitem_a
现在后的任何列表项的onClickevent
,我想改变的 布局只列表项说/res/listitem_b..
上的任何帮助,我要我继续。
我有一个ListView
与onClicklListener
。更改查看清单项目点击
的ListView
有一排Layout
的说/res/listitem_a
现在后的任何列表项的onClickevent
,我想改变的 布局只列表项说/res/listitem_b..
上的任何帮助,我要我继续。
使用BaseAdapter并在getView调用中进行修改。
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.custom_layout, null);
// Creates a ViewHolder and store references to the two children views
// we want to bind data to.
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.text);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
// Change text size
holder.text.setTextAppearance(context,R.style.customStyle);
return convertView;
}
static class ViewHolder {
TextView text;
}
而且您可以使用位置变量getView调用改变特定行。希望这个帮助!
那么你在哪里实现我的第二个布局,必须在onClick后显示? – svm
你的第二个布局将只有一个单一生的权利?您可以通过上述方法管理您的布局。你能指定你实施了什么吗?所以我们很容易给你提供建议。 –
您可以使用ViewFlipper作为行的布局。使用ViewFlipper,您可以根据需要指定任意数量的布局,并在发生某些事情时(如点击事件)在其中进行翻转。 Here是一个关于ViewFlipper的好教程。此外,您应该实现自定义适配器,扩展BaseAdapter并覆盖getView方法。
@Override
public View getView(int position, View view, ViewGroup parent) {
if (view == null) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.your_row_layout, null); //this will inflate the layout into each row
}
//from here on, assign the information to display to the layout widgets
希望我已经帮助你。
你试过什么.. ?? –