D.K.的Android旅程----BaseAdapter实现ListView

原创 2013年12月03日 17:02:18

上一篇博客是写的SimpleAdapter实现ListView.

接下来介绍的是BaseAdapter实现ListView.

BaseAdapter对开发者而言拥有更大的可控性.开发者可控制列表的每一项.

XML:

<LinearLayoutxmlns: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" >

   

    <ListView

        android:id="@+id/listview"

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

         />

</LinearLayout>

 

Java:

publicclass MainActivity extends Activity {

 

    @Override

    public void onCreate(BundlesavedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        ListView listview = (ListView)findViewById(R.id.listview);

           BaseAdapter adapter = newBaseAdapter()

           {

                  public int getCount()

                  {

                         // 指定一共包含40个选项

                         return 40;

                  }

 

                  public Object getItem(intposition)

                  {

                         return null;

                  }

                  // 重写该方法,该方法的返回值将作为列表项的ID

 

                  public long getItemId(intposition)

                  {

                         return position;

                  }

                  // 重写该方法,该方法返回的View将作为列表框

 

                  public View getView(intposition

                                , ViewconvertView , ViewGroup parent)

                  {

                         // 创建一个LinearLayout,并向其中添加2个组件

                         LinearLayout line = newLinearLayout(MainActivity.this);

                         line.setOrientation(0);

                         ImageView image = newImageView(MainActivity.this);

                         image.setImageResource(R.drawable.ic_launcher);

                         TextView text = newTextView(MainActivity.this);

                         text.setText("第"+ (position +1 ) + "个列表项");

                         line.addView(image);

                         line.addView(text);

                         // 返回LinearLayout实例

                         return line;

                  }

           };

       

        listview.setAdapter(adapter) ;

    }

}

BaseAdapter的四个需覆写的方法:getCount()、getItem(intpositon)、getItemId(int positon)、getView(intposition, View convertView , ViewGroup parent).

这四个方法决定的列表中每一项的内容。

所以在android开发中,如果要实现复杂且是自己想要实现的列表项,用BaseAdapter最佳.

android之baseAdapter实现listview里控件点击和左滑收藏(个人感觉已完美解决)

本文主要记录一些零碎的东西 在开发中ListView经常使用到,可以点击一行的数据,但是如果想点击一行里面的某个控件,比如按钮,用SimpleAdapter添加一个按钮到ListView的条目中,会发...
  • I_do_can
  • I_do_can
  • 2016年04月19日 19:47
  • 1568

Android实现ListView过滤功能之继承BaseAdapter进阶版

Android实现ListView过滤功能之继承BaseAdapter进阶版 实现ListView过滤功能最方便的便是使用ArrayAdapter,里面自带的getFilter()方法能很方便的实...
  • zml_2015
  • zml_2015
  • 2016年08月01日 02:53
  • 4326

ListView之BaseAdapter的用法简单案例(四)

一个简单的BaseAdapter的用法简单案例, 我们想利用BaseAdapter达到下面图片的简单效果。 首先我们先将布局文件写出来如下 ...
  • qq_34487977
  • qq_34487977
  • 2016年04月07日 18:34
  • 1652

Android中用BaseAdapter实现带Button和显示网络图片的Listview

本文实现了在listview上添加button,响应button的事件,响应item的单击事件,并且显示网络图片。 一,主布局文件main.xml ...
  • lostinai
  • lostinai
  • 2012年06月30日 14:27
  • 1379

[Android] 拓展 BaseAdapter 实现不存储列表项的 ListView

使用 BaseAdapter 作为适配器,可以最大限度的拓展 ListView 的显示方式:每一项的显示内容以及显示列表项的数目都可以有开发者自己定义。这里我们在布局文件中定义一个 ListView ...
  • yuxin1100
  • yuxin1100
  • 2016年06月17日 08:51
  • 340

android通过BaseAdapter实现ListView侧滑菜单

首先是重写了一个HorizontalScrollView 作为主要滑动控件, 然后是在MyBaseAdapter中 将这个自定义的ScrollView设置为根控件 在MyBaseAdapter 和...
  • wwwbjj1988
  • wwwbjj1988
  • 2016年08月06日 16:06
  • 236

Android入门:ListView(继承BaseAdapter实现)

任务: 从数据库中获得Person对象,通过继承BaseAdapter类,显示ListView,如下所示: (此处我们数据库操作的代码略,因为主要讲解的是ListView) ...
  • xiazdong
  • xiazdong
  • 2012年07月01日 08:15
  • 13342

【Android】使用BaseAdapter实现复杂的ListView

步骤 使用BaseAdapter实现复杂的ListView的步骤: 1. 数据你要准备好 List getData()。 2. 继承ListActivity专有屏,不再需要set...
  • u012954083
  • u012954083
  • 2014年11月08日 17:27
  • 296

android之baseAdapter实现listview里控件点击和左滑收藏(个人感觉已完美解决)

本文主要记录一些零碎的东西 在开发中ListView经常使用到,可以点击一行的数据,但是如果想点击一行里面的某个控件,比如按钮,用SimpleAdapter添加一个按钮到ListView的条目中,会发...
  • I_do_can
  • I_do_can
  • 2016年04月19日 19:47
  • 1568

【Android】使用BaseAdapter实现复杂的ListView

使用BaseAdapter实现复杂的ListView的步骤: 1. 数据你要准备好 List getData()。 2. 继承ListActivity专有屏,不再需要setContentView(xx...
  • oYunTaoLianWu
  • oYunTaoLianWu
  • 2013年09月21日 00:27
  • 23964
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:D.K.的Android旅程----BaseAdapter实现ListView
举报原因:
原因补充:

(最多只允许输入30个字)