当前位置: 首页 > news >正文

现在建网站做推广能赚钱吗重庆铜梁网站建设报价

现在建网站做推广能赚钱吗,重庆铜梁网站建设报价,无锡装修公司做网站,自己网站可以加标志吗ListView与适配器 ListView是什么 ​ ListView是一个以垂直方式在项目中显示视图的列表#xff08;即在一个窗口里可以滚动查看数据#xff0c;比如说查看聊天记录#xff09;#xff0c;是一种不能实现确定视图中的内容的适配器视图#xff08;adapter view#xff09…ListView与适配器 ListView是什么 ​ ListView是一个以垂直方式在项目中显示视图的列表即在一个窗口里可以滚动查看数据比如说查看聊天记录是一种不能实现确定视图中的内容的适配器视图adapter view。数据和视图的绑定需要通过继承ListViewAdapter接口的适配器实现。确保当上下滚动的时候能够动态刷新视图内容。通常我们都会自定义一个继承自BaseAdapter(已继承ListViewAdapter)或ArrayAdapter(继承自BaseAdapter)又或者SimpleAdapter(继承自BaseAdapter)的类并重写getView()方法实现自己想要的功能。 适配器是什么 ​ 适配器是一个连接数据和AdapterViewListView就是一个典型的AdapterView还有RecyclerView等等的桥梁通过它能有效地实现数据与AdapterView的分离设置使AdapterView与数据的绑定更加简便修改更加方便。简单地来说就是把一些数据弄得适当以便于在View上显示。 常用的适配器 //1.BaseAdapter//BaseAdapter是最基本的适配器。它实际上就是一个抽象类它有四种抽象方法public int getCount() 得到Item的总数public Object getItem(int position) 根据position得到某个Item的对象public long getItemId (int position) 根据position得到某个ItemIdpublic View getView(int position, View convertView, ViewGroup parent) //得到相应position对应的Item视图position当前Item的位置convertView复用的View对象//2.ArrayAdapter//ArrayAdapter是BaseAdapter的子类与SimpleAdapter相同ArrayAdapter也不是抽象类与下面的SimpleA的用法类似开发者要在构造方法里传入相应的参数即可适配数据尝适配于TextView。public ArrayAdapterContext contextint resourceint textViewResourceId,T[] objects//需要适配的数据数组;//3.SimpleAdapter//SimpleAdapter继承自BaseAdapter实现了BaseAdapter的四个抽象方法。开发者需要在创建SimpleAdapter实例时在构造方法里传入相应的参数即可。要注意的是SimpleAdapter只能适配于CheckableTextViewImageView其中Checkable是一个接口CheckBox控件就实现了该接口。public SimpleAdapter(Context contextList? extends MapString, ?data,int resource,String[] from,int[] to);1.BaseAdapter 子项布局 ?xml version1.0 encodingutf-8?RelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/android android:layout_heightfill_parentandroid:layout_widthfill_parent Buttonandroid:layout_alignParentRighttrue android:layout_widthwrap_contentandroid:layout_heightwrap_content android:idid/ItemButtonandroid:text按钮android:focusablefalse/ TextView android:idid/ItemTitles android:layout_heightwrap_content android:layout_widthfill_parent android:textSize20sp/TextViewandroid:idid/ItemTexts android:layout_heightwrap_content android:layout_widthfill_parent android:layout_belowid/ItemTitles/ /RelativeLayoutMainActivity public class ListViewBaseAdapter extends Activity {private ListView lv;/*定义一个动态数组*/ ArrayListHashMapString, Object listItem;Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_list_view_base_adapter);lv (ListView) findViewById(R.id.base_lv);MyAdapter mAdapter new MyAdapter(this);//得到一个MyAdapter对象lv.setAdapter(mAdapter);//为ListView绑定Adapter /*为ListView添加点击事件*/ lv.setOnItemClickListener(new OnItemClickListener() {Overridepublic void onItemClick(AdapterView? arg0, View arg1, int arg2,long arg3) {Log.v(MyListViewBase, 你点击了ListView条目 arg2);//在LogCat中输出信息}});}/*添加一个得到数据的方法方便使用*/ private ArrayListHashMapString, Object getDate(){ArrayListHashMapString, Object listItem new ArrayListHashMapString,Object();/*为动态数组添加数据*/ for(int i0;i30;i) { HashMapString, Object map new HashMapString, Object(); map.put(ItemTitle, 第i行); map.put(ItemText, 这是第i行); listItem.add(map); } return listItem;}/* * 新建一个类继承BaseAdapter实现视图与数据的绑定*/ private class MyAdapter extends BaseAdapter {private LayoutInflater mInflater;//得到一个LayoutInfalter对象用来导入布局 /*构造函数*/ public MyAdapter(Context context) {this.mInflater LayoutInflater.from(context);}Overridepublic int getCount() {return getDate().size();//返回数组的长度 }Overridepublic Object getItem(int position) {return null;}Overridepublic long getItemId(int position) {return 0;}/*书中详细解释该方法*/ Overridepublic View getView(final int position, View convertView, ViewGroup parent) {ViewHolder holder;//观察convertView随ListView滚动情况 Log.v(MyListViewBase, getView position convertView);if (convertView null) {convertView mInflater.inflate(R.layout.base_adapter_item,null);holder new ViewHolder();/*得到各个控件的对象*/ holder.title (TextView) convertView.findViewById(R.id.ItemTitles);holder.text (TextView) convertView.findViewById(R.id.ItemTexts);holder.bt (Button) convertView.findViewById(R.id.ItemButton);convertView.setTag(holder);//绑定ViewHolder对象 }else{holder (ViewHolder)convertView.getTag();//取出ViewHolder对象 }/*设置TextView显示的内容即我们存放在动态数组中的数据*/ holder.title.setText(getDate().get(position).get(ItemTitle).toString());holder.text.setText(getDate().get(position).get(ItemText).toString());/*为Button添加点击事件*/ holder.bt.setOnClickListener(new OnClickListener() {Overridepublic void onClick(View v) {Log.v(MyListViewBase, 你点击了按钮 position);//打印Button的点击信息}}); return convertView;}}/*存放控件*/ public final class ViewHolder{public TextView title;public TextView text;public Button bt;} }2.ArrayAdapter 新建类Fruit作为ListView适配器的适配类型 package com.example.listviewtest;public class Fruit {private String name;private int imageId;public Fruit(String name, int imageId) {this.name name;this.imageId imageId;}public String getName() {return name;}public int getImageId() {return imageId;}}为ListView的子项指定一个我们自定义的布局在layout目录下新建fruit_item.xml ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:orientationhorizontalandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentImageViewandroid:idid/fruit_imageandroid:layout_widthwrap_contentandroid:layout_heightwrap_content /TextViewandroid:idid/fruit_nameandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_gravitycenter_verticalandroid:layout_marginLeft10dp //LinearLayout创建一个自定义的适配器FruitAdapter public class FruitAdapter extends ArrayAdapterFruit {private int resourceId;//重写父类的构造函数//将上下文、ListView子项布局的id和数据都传递进来public FruitAdapter(Context context, int textViewResourceId,ListFruit objects) {super(context, textViewResourceId, objects);resourceId textViewResourceId;}Overridepublic View getView(int position, View convertView, ViewGroup parent) {// 获取当前项的Fruit实例Fruit fruit getItem(position); //LayoutInflater.from(this); 获取LayoutInflater实例//使用LayoutInflater为子项加载我们传入的布局//inflate的三个参数要转换的xml布局、给加载好的布局再添加一个父布局、//是否让父布局的layout属性失效View view LayoutInflater.from(getContext()).inflate(resourceId, parent, false);TextView fruitName view.findViewById(R.id.fruit_name);ImageView fruitImage view.findViewById(R.id.fruit_image);fruitName.setText(fruit.getFruitName());fruitImage.setImageResource(fruit.getImageId());return view; }修改MainActivity public class MainActivity extends AppCompatActivity {private ListFruit fruitList new ArrayList();Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//初始化水果数据initFruits();FruitAdapter adapter new FruitAdapter(MainActivity.this, R.layout.fruit_item,fruitList);ListView listView (ListView) findViewById(R.id.list_view);listView.setAdapter(adapter);}private void initFruits() {//初始化水果数据的操作:比如/*Fruit apple new Fruit(Apple, R.drawable.apple_pic);*fruitList.add(apple);*Fruit banana new Fruit(Banana, R.drawable.banana_pic);*fruitList.add(banana);*/ }3.SimpleAdapter simple_adapter_item.xml ?xml version1.0 encodingutf-8?RelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/android android:layout_heightfill_parentandroid:layout_widthfill_parent ImageViewandroid:layout_alignParentRighttrue android:layout_widthwrap_contentandroid:layout_heightwrap_content android:idid/ItemImage/ TextView android:idid/ItemTitle android:layout_heightwrap_content android:layout_widthfill_parent android:textSize20sp/TextViewandroid:idid/ItemText android:layout_heightwrap_content android:layout_widthfill_parent android:layout_belowid/ItemTitle/ /RelativeLayoutMainActivity private ListView lv;Override public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_list_view_simple_adapter);lv (ListView) findViewById(R.id.lv2);/*定义一个动态数组*/ ArrayListHashMapString, Object listItem new ArrayList HashMapString,Object();/*在数组中存放数据*/for(int i0;i10;i) { HashMapString, Object map new HashMapString, Object(); map.put(ItemImage, R.drawable.ic_launcher);//加入图片 map.put(ItemTitle, 第i行); map.put(ItemText, 这是第i行); listItem.add(map); }//new String 数据来源 new int 数据到哪去SimpleAdapter mSimpleAdapter new SimpleAdapter(this,listItem,R.layout.simple_adapter_item,new String[] {ItemImage,ItemTitle, ItemText}, new int[] {R.id.ItemImage,R.id.ItemTitle,R.id.ItemText});lv.setAdapter(mSimpleAdapter);//为ListView绑定适配器 lv.setOnItemClickListener(new OnItemClickListener() {Overridepublic void onItemClick(AdapterView? arg0, View arg1, int arg2,long arg3) {setTitle(你点击了第arg2行);//设置标题栏显示点击的行 }}); }
http://www.w-s-a.com/news/166680/

相关文章:

  • 建设网站 请示 报告wordpress会员制
  • 青岛建网站人做网站怎么赚钱广告
  • 网站建设哪家好公司跨境电商展会2023
  • 设计大神云集的网站是南通市 网站设计
  • 心理咨询网站模板企业画册封面设计
  • 做网站 南京网站建设的重难点分析
  • 深圳做网站980移动网站开发语言
  • 网站评论怎么做seo关键词优化方法
  • 市级部门网站建设自评报告网站优化文章怎么做
  • 可不可以异地建设网站学做网站培训班要多少钱
  • 茌平网站建设公司免费的云服务器有哪些
  • 手机网站单页面铜陵网站制作公司
  • 网站logo怎么做才清晰千库网官网首页登录
  • 山西省建设银行网站首页长沙网站建设制作
  • 襄阳市做网站 优帮云百度搜索次数统计
  • 自己做视频直播网站盐城做网站多少钱
  • 买个网站服务器多少钱重庆做的好的房产网站
  • 深圳定制建站网站建设推广关键词怎么设置
  • 宝山网站建设 网站外包修改wordpress版权
  • 建立网站的基本步骤新网站多久会被百度收录
  • 软件设计开发流程图廊坊关键词seo排名方案
  • 南山住房和建设局网站网站被k 多久恢复
  • 阿里买域名 电脑做网站做简历哪个网站好
  • 个人网站免费服务器单页网站的域名
  • 网站设计简单讲解小店怎么做网站
  • 校园网站的意义wordpress去除更新
  • 网站开发用python吗常用的网页开发工具有哪些
  • 北京市住房建设投资建设网站做商城网站要哪些流程
  • seo网站改版杭州建设局官网
  • 物流网站建设策划书泰然建设网站