全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android UI 实现*详解及实例代码

Android UI 实现*详解

  1. listview 的使用步骤
  2. 简单的listview*实现

1.实现效果图

2.需要掌握的知识

  • listview的使用步骤
  • listview的Adapter接口的实现
  • listview中的MVC

3.知识详解

ListView 是一个控件,一个在垂直滚动的列表中显示条目的一个控件,这些条目的内容来自于一个ListAdapter 。EditText Button TextView ImageView Checkbox 五大布局。

 1.布局添加Listview

 2.找到listview

 3.创建一个Adapter适配器继承BaseAdapter,封装4个方法,其中getcount,getview必须封装
   getcount:告诉listview要显示的条目数
   getview:告诉listview每个条目显示的内容。
 4.创建Adapter的一个对象,设置给listview。
     listview.setAdapter(ListAdapter adapter);

listview优化

adapter中getview方法会传进来一个convertView,convertView是指曾经使用过的view对象,可以被重复使用,但是在使用前需要判断是否为空,不为空直接复用,并作为getview方法的返回对象。

 TextView view = null;
   if(convertView != null){//判断converView是否为空,不为空重新使用
     view = (TextView) convertView;
   }else{
     view = new TextView(mContext);//创建一个textView对象
   }
   return view;

4.项目代码

public class MainActivity extends AppCompatActivity {
  //1,声明控件LISTVIEW
  private ListView listView1;
  private ListView listView2;
  private ListView listView3;
  private Context mContext;


  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //2,获取控件的id
    listView1 = (ListView)findViewById(R.id.list_item1);
    listView2 = (ListView)findViewById(R.id.list_item2);
    listView3 = (ListView)findViewById(R.id.list_item3);
    mContext = this;
    //3,进行绑定
    MyAdapter myAdapter = new MyAdapter();
    listView3.setAdapter(myAdapter);
    listView2.setAdapter(myAdapter);
    listView1.setAdapter(myAdapter);
  }
  //创建适配器类实现接口
  class MyAdapter extends BaseAdapter{
    @Override
    public int getCount() {
      return 50;
    }

    @Override
    public Object getItem(int i) {
      return null;
    }

    @Override
    public long getItemId(int i) {
      return 0;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
      //声明一个textview对象
      TextView view0 = null;
      //进行判断是否能过复用
      if(view != null){
        view0 = (TextView)view;
      }else {
        view0 = new TextView(mContext);
      }
      view0.setTextSize(40);
      Random random = new Random();
      int num = random.nextInt(100);
      if(num<20){
        view0.setText("桃");
        view0.setTextColor(Color.parseColor("#ff00ff"));
      }else if(num<40){
        view0.setText("梨");
        view0.setTextColor(Color.YELLOW);
      }else if(num<60){
        view0.setText("枣");
        view0.setTextColor(Color.RED);
      }else if(num<80){
        view0.setText("橘");
        view0.setTextColor(Color.parseColor("#d4824f"));
      }else{
        view0.setText("杏");
        view0.setTextColor(Color.parseColor("#00ff00"));
      }


      return view0;
    }
  }
}

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context="com.wenkai.tigerlistview.MainActivity">

  <ListView
    android:id="@+id/list_item1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1" />
  <ListView
    android:id="@+id/list_item2"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1" />
  <ListView
    android:id="@+id/list_item3"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1" />

</LinearLayout>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android  # UI  # 实现老虎机  # 老虎机的实现  # 老虎机  # Android实现老虎机小游戏代码示例  # 为空  # 创建一个  # 复用  # 是一个  # 是指  # 希望能  # 五大  # 来自于  # 谢谢大家  # 使用过  # 绑定  # 是否能  # 重复使用  # 判断是否  # 法会  # 但是在  # 列表中  # Context  # Override  # view 


相关文章: 香港服务器选型指南:免备案配置与高效建站方案解析  股票网站制作软件,网上股票怎么开户?  建站之星如何取消后台验证码生成?  如何通过主机屋免费建站教程十分钟搭建网站?  TestNG的testng.xml配置文件怎么写  相册网站制作软件,图片上的网址怎么复制?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  专业商城网站制作公司有哪些,pi商城官网是哪个?  网站制作的步骤包括,正确网址格式怎么写?  代购小票制作网站有哪些,购物小票的简要说明?  ,怎么在广州志愿者网站注册?  已有域名和空间如何搭建网站?  为什么Go需要go mod文件_Go go mod文件作用说明  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  如何通过虚拟主机快速搭建个人网站?  定制建站如何定义?其核心优势是什么?  c++怎么用jemalloc c++替换默认内存分配器【性能】  linux top下的 minerd 木马清除方法  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  如何在景安云服务器上绑定域名并配置虚拟主机?  建站之星会员如何解锁更多建站功能?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  建站之家VIP精选网站模板与SEO优化教程整合指南  制作表格网站有哪些,线上表格怎么弄?  测试制作网站有哪些,测试性取向的权威测试或者网站?  如何撰写建站申请书?关键要点有哪些?  西安专业网站制作公司有哪些,陕西省建行官方网站?  建站之星如何实现网站加密操作?  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  建站VPS推荐:2025年高性能服务器配置指南  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  兔展官网 在线制作,怎样制作微信请帖?  ,购物网站怎么盈利呢?  专业网站建设制作报价,网页设计制作要考什么证?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何在云主机快速搭建网站站点?  IOS倒计时设置UIButton标题title的抖动问题  大连 网站制作,大连天途有线官网?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  PHP正则匹配日期和时间(时间戳转换)的实例代码  建站之星3.0如何解决常见操作问题?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  常州企业建站如何选择最佳模板?  建站之星安装模板失败:服务器环境不兼容?  大连网站制作公司哪家好一点,大连买房网站哪个好? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。