hello world(android ListView)

1、增加類 Obj.java

package com.nndou.yy.listviewtest;
import android.graphics.drawable.Drawable;
/**
 * Created by yuecaili on 16/6/30.
 */
public class Obj {
    private String name;
    private String des;
    public Obj(String name,String des){
        this.name = name;
        this.des = des;
    }
    public String getName(){
        return name;
    }
    public String getDes(){
        return des;
    }
}

2、增加 ObjAdapter.java 類

package com.nndou.yy.volleytest02;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

import java.util.List;

/**
 * Created by yuecaili on 16/7/6.
 */
public class ObjAdapter extends ArrayAdapter<Obj> {
    private int resourceId;
    public ObjAdapter(Context context, int resource,List<Obj> objs) {
        super(context, resource,objs);
        resourceId = resource;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        Obj obj = getItem(position);
        View view;
        if(convertView == null){
            view = LayoutInflater.from(getContext()).inflate(resourceId, null);
        }else{
            view = convertView;
        }
        final TextView objName = (TextView) view.findViewById(R.id.obj_name);
        final TextView objDes = (TextView) view.findViewById(R.id.obj_des);
        objName.setText(obj.getName());
        objDes.setText(obj.getDes());
        return view;
    }
}


3、增加 raw.xml 文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:text="New Text"
        android:id="@+id/obj_name"
        android:layout_marginLeft="10dp"
        android:gravity="center"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:text="New Text"
        android:id="@+id/obj_des"
        android:layout_marginLeft="10dp"
        android:gravity="center"
        />
</LinearLayout>


4、在主xml文件增加listview

<ListView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/listView"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

5、增加相關代碼

private String [] data = {"a","b","c","d","a","b","c","d","a","b","c","d","a","b","c","d"};
ArrayAdapter<String> adapter= new ArrayAdapter<String>(
        getApplicationContext(),R.layout.test ,data
);
ListView lv = (ListView)findViewById(R.id.listView);
lv.setAdapter(adapter);


6、Obj相關代碼

private List<Obj> objList = new ArrayList<Obj>();

initObj();
ObjAdapter objAdapter = new ObjAdapter(MainActivity.this,R.layout.raw,objList);
ListView listView = (ListView) findViewById(R.id.listView);
listView.setAdapter(objAdapter);


private void initObj(){
    for(int i = 0;i<20;i++){
        Obj obj = new Obj("a","b");
        objList.add(obj);
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章