这个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();
}
}