android控件—ListView(1)

这个Demo实现如下效果

代码如下
整个大的界面随便主界面 但是 里面要放一个ListView 进去

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" >

    <ListView  android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>

还有一个就是ListView里面每一个 的样式
安卓系统有默认的样式 也可以写需要在每一行显示的样式 本例是自己的的一个xml 但也没有什么效果就是实现一下自己写的部分
给自己写的这个xml起名叫做array
如下

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="100dp" >


</TextView>

还有一个弹出显示类的信息获取这里也单独写了一个类
名字叫做arraycell
如下

package com.example.exce_4;

public class arraycell {
    private String name = " ";
    private String sex = " ";
    private int age =0; 
    public arraycell(String name,String sex,int age){
        this.name = name;
        this.sex = sex;
        this.age = age;
    }
    public String getName() {//get 和set方法可以右键sousure 创建
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String  toString (){
        return getName();
    }


}

下来看主函数部分的实现 要显示还必须绑定一个适配器

package com.example.exce_4;

import java.util.List;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity implements OnItemClickListener {

    private ListView lv;//声明一个ListView
    private ArrayAdapter<arraycell> adapter; //ArrayAdapter的列表xml必须是textvivw
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        adapter = new ArrayAdapter<arraycell>(this, R.layout.array);//第二个是列表项的资源id 可以自己写
        lv = (ListView) findViewById(R.id.listView1);
        lv.setAdapter(adapter);//绑定一个adapter
         adapter.add(new arraycell("陀","男",47));
         adapter.add(new arraycell("草泥马","人妖",100000));
         adapter.add(new arraycell("蠢狗","公",59));
         lv.setOnItemClickListener(this);

    }
    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2/*操作的位置*/, long arg3) {
        // TODO Auto-generated method stub
        arraycell  data = adapter.getItem(arg2);//返回值是数据类型
        //弹出内容在这里!!!!!!!!!!
        Toast.makeText(this,String.format("姓名 :%s,性别:%s,年龄:%d", data.getName(),data.getSex(),data.getAge()) ,Toast.LENGTH_SHORT).show();
    }

}

你可能感兴趣的:(android,ListView)