我們大致的思路,其實是這樣子的,也是我的設(shè)想,我們可以先去實現(xiàn)一個簡單的ListView的數(shù)據(jù),但是他的Adapter,我們可以用系統(tǒng)封裝好的,然后傳遞進去一個實體類,最后自定義一個listview去操作,所以我們先把準備的工作做好,比如?
list_item.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:id="@+id/iv_logo"android:layout_width="50dp"android:layout_height="50dp"android:layout_alignParentLeft="true"android:layout_centerInParent="true"android:layout_marginLeft="10dp"/><TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:layout_marginLeft="10dp"android:layout_toRightOf="@id/iv_logo"/></RelativeLayout>
這就只有一個頭像和一句話了,然后我們把實體類也給寫完了
DragBean
package com.liuguilin.draglistviewsample.entity;/** 項目名: DragListViewSample * 包名: com.liuguilin.draglistviewsample.entity* 文件名: DragBean* 創(chuàng)建者: LGL* 創(chuàng)建時間: 2016/8/29 22:49* 描述: 實體類*/public class DragBean {private int ivId;private String text;public DragBean() {}public DragBean(int ivId, String text) {this.ivId = ivId;this.text = text;}public int getIvId() {return ivId;}public String getText() {return text;}}ok,其實很簡單,id是圖片,然后是文本,這樣我們就可以來實現(xiàn)一個Adapter了,這里我用的是ArrayAdapter這樣能讓我們插入和刪除很輕松
DragAdapter
package com.liuguilin.draglistviewsample.adapter;/** 項目名: DragListViewSample * 包名: com.liuguilin.draglistviewsample.adapter* 文件名: DragAdapter* 創(chuàng)建者: LGL* 創(chuàng)建時間: 2016/8/29 22:41* 描述: 拖拽列表的數(shù)據(jù)源*/import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.ImageView;import android.widget.TextView;import com.liuguilin.draglistviewsample.R;import com.liuguilin.draglistviewsample.entity.DragBean;import java.util.List;public class DragAdapter extends ArrayAdapter<DragBean> {/*** 構(gòu)造方法** @param context* @param mList*/public DragAdapter(Context context, List<DragBean> mList) {super(context, 0, mList);}/*** 實現(xiàn)View** @param position* @param convertView* @param parent* @return*/@Overridepublic View getView(int position, View convertView, ViewGroup parent) {View view;ViewHolder viewHolder;if (convertView == null) {view = View.inflate(getContext(), R.layout.list_item, null);viewHolder = new ViewHolder();viewHolder.imageView = (ImageView) view.findViewById(R.id.iv_logo);viewHolder.textView = (TextView) view.findViewById(R.id.textView);view.setTag(viewHolder);} else {view = convertView;viewHolder = (ViewHolder) view.getTag();}viewHolder.imageView.setImageResource(getItem(position).getIvId());viewHolder.textView.setText(getItem(position).getText());return view;}/*** 緩存*/static class ViewHolder {ImageView imageView;TextView textView;}}好的,其實到這里,他就是一個最普通的ListView了,我們給他填充點數(shù)據(jù)
MainActivity
package com.liuguilin.draglistviewsample;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import com.liuguilin.draglistviewsample.adapter.DragAdapter;import com.liuguilin.draglistviewsample.entity.DragBean;import com.liuguilin.draglistviewsample.view.DragListView;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {//列表private DragListView mListView;//數(shù)據(jù)private List<DragBean> mList = new ArrayList<>();//數(shù)據(jù)源private DragAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}/*** 初始化View*/private void initView() {mListView = (DragListView) findViewById(R.id.mListView);//新增
主站蜘蛛池模板:
保康县|
贡嘎县|
托克托县|
贺州市|
腾冲县|
通州区|
富阳市|
武强县|
咸丰县|
榆树市|
夏津县|
西吉县|
西昌市|
舟曲县|
建平县|
得荣县|
惠安县|
宿松县|
嘉义县|
巫溪县|
五华县|
安溪县|
谢通门县|
精河县|
岚皋县|
长垣县|
祁门县|
布拖县|
长寿区|
南岸区|
佛冈县|
冷水江市|
曲麻莱县|
龙山县|
丰都县|
阿克|
姜堰市|
紫阳县|
四子王旗|
大渡口区|
上虞市|