1筛欢、這篇博客參考http://blog.csdn.net/libaojian4444/article/details/52931971
2浸锨、不同的是列表采用的是recycle? 和圖片顯示用的是Picasso ?Edittext 交換不會錯亂等的完善
3、話不多說直接上代碼 ?新建一個項目 添加recycleview 的依賴?
compile'com.android.support:recyclerview-v7:26.0.0-alpha1'
compile'com.squareup.picasso:picasso:2.3.2'
4版姑、在 main.xml 創(chuàng)建 一個柱搜,添加recycle 的布局
<android.support.v7.widget.RecyclerView
android:layout_below="@+id/titleLayout"
android:id="@+id/line_recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="80dp"
/>
5、定義兩個布局一個是圖片布局 item_add_pic.xml ?和item_add_et.xml 分別放圖片的和輸入框的布局
6剥险、1定義圖文混合的adapter 適配器 PicAndFondAdapter聪蘸。中主要通過 onCreateViewHolder 創(chuàng)建不同的布局,onBindViewHolder 對應顯示不同的布局
getItemViewType 根據不同的類型顯示不同的布局
public static final intTYPE_PIC=0xff01;//圖片
public static final intTYPE_FOND=0xff02;//文本框
@Override
publicRecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent,intviewType) {
switch(viewType){
caseTYPE_PIC:
return newPicViewHolder(layoutInflater.inflate(R.layout.item_add_pic,parent,false));
caseTYPE_FOND:
return newEditViewHolder(layoutInflater.inflate(R.layout.item_add_et,parent,false));
}
return null;
}
6.2表制、其次是綁定和實現(xiàn)它們的點擊時間刪除直接從集合中移除那個對象健爬,上移的話要注意兩個問題改變文本框的輸入值是在afterTextChanged,兩個文本替換的時候會重復么介,所以在edit 的setOnTouchListener監(jiān)聽是否改變了輸入框的值 改變了就重新設置值娜遵,替換的話只做文本交換
/*picAndFonds.remove(position);
notifyDataSetChanged();*/
6.3 、 最后就是新增插入 通過接口 PicAndFondInterface 實現(xiàn) 通過獲取當前空控件的位置壤短,在當前位置的后面增加一個對象
demo 地址 ? https://github.com/xiaoyongbing/PicAndFond1