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列表

重点:        1、使用布局文件(xml)定义ListView中项的显示样式        2、使用BaseAdapter实现对ListView 列表项的细节控制。 文件:        (...
  • atlim
  • atlim
  • 2013年07月27日 21:01
  • 623

Android实现ListView过滤功能,继承于BaseAdapter,非ArrayAdapter

其实实现ListView过滤功能最方便的便是使用ArrayAdapter,里面自带的getFilter()方法能很方便的实现此功能,但是在实际的开发中,一般都是继承于BaseAdapter。还有一种是...
  • qqGrid
  • qqGrid
  • 2014年10月23日 18:35
  • 499

Android 实现json网络数据通过BaseAdapter加载到ListView中

json数据解析,ListView加载网络数据,BaseAdapter
  • ccapton
  • ccapton
  • 2016年11月25日 19:49
  • 1672

Android开发-UI控件:实现ListView过滤功能,继承于BaseAdapter,非ArrayAdapter。

其实实现ListView过滤功能最方便的便是使用ArrayAdapter,里面自带的getFilter()方法能很方便的实现此功能,但是在实际的开发中,一般都是继承于BaseAdapter。还有一种是...

android通过BaseAdapter实现ListView侧滑菜单

首先是重写了一个HorizontalScrollView 作为主要滑动控件, 然后是在MyBaseAdapter中 将这个自定义的ScrollView设置为根控件 在MyBaseAdapter 和...

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

本文实现了在listview上添加button,响应button的事件,响应item的单击事件,并且显示网络图片。 一,主布局文件main.xml ...

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

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

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

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

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

Android实现ListView过滤功能之继承BaseAdapter进阶版 实现ListView过滤功能最方便的便是使用ArrayAdapter,里面自带的getFilter()方法能很方便的实...

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

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

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