欢迎使用CSDN-markdown编辑器

来源:互联网 发布:艾力欧与知世怀孕虐文 编辑:程序博客网 时间:2024/04/29 05:21

1。 Android控件之 listview

listview 即下拉列表

初级应用:

a. 主界面定义一个listview;并且绑定好控件;

b. listview 是通过适配器进行数据的填充的 ;所以new baseadpater
适配器:
1.重载四个函数:
2.第四函数中:
a.加载小布局
convertView=getLayoutInflater().inflate(R.layout.newlistview, null);
b.加载小布局中控件id
TextView tv=(TextView) convertView.findViewById(R.id.textView1);
convertView:必须记得用这个调用;
c。填充数据:
tv.setText(str[position]);

       return convertView ;

c.listview 加载适配器

源码:
package com.example.testlistview;

import java.util.ArrayList;
import java.util.List;

import com.example.testlistview.R.drawable;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
myAdapter ma=new myAdapter();
ListView listview=null;
TextView tv=null;

int drawa[]={R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.f,R.drawable.g};String str[]={"a","b","c","d","d","d","d","d","d","d","d","d","d","d","d","d","d"};@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);

// 注册绑定控件
listview=(ListView) findViewById(R.id.listView1);
tv=(TextView) findViewById(R.id.tv);
// 声明一个适配器
// ArrayAdapter adapter=new ArrayAdapter(this, android.R.layout.simple_dropdown_item_1line,str);
//设置一个适配器

  listview.setAdapter(ma);  listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {        @Override        public void onItemClick(AdapterView<?> parent, View view, int position,                long id) {            // TODO 自动生成的方法存根            String mstr=str[position];            Toast.makeText(MainActivity.this, mstr,1).show();        }    });}

class myAdapter extends BaseAdapter{

@Override
public int getCount() {
// TODO 自动生成的方法存根
return drawa.length;
}

@Override
public Object getItem(int position) {
// TODO 自动生成的方法存根
return drawa[position];
}

@Override
public long getItemId(int position) {
// TODO 自动生成的方法存根
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO 自动生成的方法存根
// 绑定布局文件
convertView=getLayoutInflater().inflate(R.layout.newlistview, null);

  TextView tv=(TextView) convertView.findViewById(R.id.textView1);     ImageView imageview=(ImageView) convertView.findViewById(R.id.imageView1);      imageview.setImageResource(drawa[position]);      tv.setText(str[position]);   return convertView ;

}

}
}

  1. 高级应用:

    科普:
    1.建包:acitivity的包(用来放界面的);entity(实体类);adapter(适配器的类)
    ;view(自定义控件);untils(工具类);

注意事项:
1.适配器将会独立的一个类存在,绑定子布局的方法不能直接调用!!!
2.适配器填充实体类的数据!!!!
3.构造函数,通过设计构造函数,来设计函数的功能。!!!

源码:
package com.example.testAPPproject.adapter;

public class adapter extends BaseAdapter {

LayoutInflater inflaterContext context;ArrayList <UserInfo> list;//有参的构造函数:   // 无参的构造函数:方便进行调用;public adapter(Context context,       ArrayList<UserInfo> list) {          super();    this.inflater = LayoutInflater.from(context);

//不是在activity,不能之间调用getLayoutInflater()
//通过定义LayoutInflater.from(contenxt)

    this.list = list;}@Overridepublic int getCount() {    // TODO 自动生成的方法存根    return list.size();}@Overridepublic Object getItem(int position) {    // TODO 自动生成的方法存根    return list.get(position);}@Overridepublic long getItemId(int position) {    // TODO 自动生成的方法存根    return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {    // TODO 自动生成的方法存根    convertView=inflater.inflate(R.layout.list_item, null);    TextView tv1=(TextView) convertView.findViewById(R.id.tv_listitem1);        TextView tv2=(TextView) convertView.findViewById(R.id.tv_listitem2);          tv1.setText(list.get(position).getName());//list集合填充数据。       tv2.setText(list.get(position).getTel());         return convertView;}

}

0 0
原创粉丝点击