我有一個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
希望我已經幫助你。
你試過什麼.. ?? –