Android中ListView用法实例分析

本文实例分析了Android中ListView用法。分享给大家供大家参考,具体如下:

通过在Layout中添加ListView Widget可以达到在页面布局具有列表效果的交互页面。在这里通过举例来说明怎样在Layout中添加ListView以及怎样应用。

配合设计了两个事件Listener:  OnItemSelectedListener事件为鼠标的滚轮转动时所选择的值;OnItemClickListener事件则为当鼠标单击时,所触发的事件。由此可以区别出list中的“选择”与“单击”差异。

使用ArrayAdapter(Context  context, int  textViewResourceId , T[] objects)这个构造器,其中textViewResourceId是定义在“res/layout/my_simple_list_item.xml”里的资源ResourceID(R.layout.my_simple_list_item),里面使用CheckedTextView来取得ListView中选择的项目。

程序中使用了LinearLayout对象,动态地将TextView与ListView附加进原有的Layout布局当中。用LinearLayout.LayoutParams来创建对象param1,再调用LinearLayout的addView方法将TextView和ListView以及params对象传入。

程序如下所示:

public class A07Activity extends Activity {
 private static final String[]week="sunday","monday","tuesday","wednesday","thursday","friday","saturday"};
 private TextView tv;
 private ListView lv;
 private ArrayAdapter<String> aa;
 private LinearLayout ll;
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    tv=new TextView(this);
    tv.setText(R.string.title);
    tv.setTextColor(Color.RED);
    lv=new ListView(this);
    lv.setBackgroundColor(Color.GREEN);
    ll=new LinearLayout(this);
    ll.setOrientation(LinearLayout.VERTICAL);
    ll.setBackgroundColor(android.graphics.Color.YELLOW);
    aa=new ArrayAdapter<String>(A07Activity.this,R.layout.my_simple_list,week);
    lv.setAdapter(aa);
    LinearLayout.LayoutParams params01=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    ll.addView(lv, params01);
    LinearLayout.LayoutParams params02=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    ll.addView(tv, params02);
    setContentView(ll);
    lv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
  @Override
  public void onItemSelected(AdapterView<?> arg0, View arg1,
   int arg2, long arg3) {
  // TODO Auto-generated method stub
  tv.setText("你选择的是:"+arg0.getSelectedItem().toString());
  }
  @Override
  public void onNothingSelected(AdapterView<?> arg0) {
  // TODO Auto-generated method stub
  }
 });
  lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
   long arg3) {
  // TODO Auto-generated method stub
  tv.setText("你选择的是:"+week[arg2]);
  }
 });
  }
}

res/layout/my_simple_list.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/myCheckedTextView1"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
/>

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android基本组件用法总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • Android App界面的ListView布局实战演练

    一.继承listActivity.使用arrayAdapter 使用ListView和arrayAdapter布局,是ListView布局中最为简单的一种,首先我们会建立一个组件用来显示数据,例如main.xml <?xml version="1.0" encoding="utf-8"?> <!-- 主界面本身就是一个显示组件 --> <TextView xmlns:android="http://schemas.androi

  • Android编程实现动态更新ListView的方法

    本文实例讲述了Android编程实现动态更新ListView的方法.分享给大家供大家参考,具体如下: 有时候我们需要修改已经生成的列表,添加或者修改数据,notifyDataSetChanged()可以在修改适配器绑定的数组后,不用重新刷新Activity,通知Activity更新ListView.今天的例子就是通过Handler AsyncTask两种方式来动态更新ListView.从今天起,每次学习的源代码都会打包上传,方便各位同学学习,注册帐号即可下载. 布局main.xml: <?xml

  • Android ListView物流获取追踪功能实现

    ListView 控件可使用四种不同视图显示项目.通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本. 最近在网上看到时间轴的布局效果,尝试按照这个原理,实现物流跟踪的效果,目前已经实现了,效果如下图 该效果完全是使用ListView来实现了,下面我们来看一下是如何实现的 (一):布局ListView并编写Item布局 首先需要在布局上面编写ListView: <RelativeLayout xmlns:android="http://schemas.android.c

  • Android改变ExpandableListView的indicator图标实现方法

    本文实例讲述了Android改变ExpandableListView的indicator图标实现方法.分享给大家供大家参考,具体如下: 1)定义xml文件先,命名为expand_list_indicator.xml <?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"&

  • Android实现仿网易今日头条等自定义频道listview 或者grideview等item上移到另一个view中

    我这里只是简单的用了两个listview来实现的,先上效果图.比较粗糙.预留了自定义的空间. 思路: 从上图应该可以看的出来.就是上下两个listview.点击下面的ltem.会动态的移动到上一个listview的最后.上面的listview 为listview1,下面的为listview2. 点击listview2,获取到view ,设置一个动画,移动到listview1 ,listview2中删除被点的item.listview1中新增一个. 上代码: Mainactivity.java 部

  • 详解Android中实现ListView左右滑动删除条目的方法

    使用Scroller实现绚丽的ListView左右滑动删除Item效果 这里来给大家带来使用Scroller的小例子,同时也能用来帮助初步解除的读者更加熟悉的掌握Scroller的使用,掌握好了Scroller的使用我们就能实现很多滑动的效果.例如侧滑菜单,launcher,ListView的下拉刷新等等效果,我今天实现的是ListView的item的左右滑动删除item的效果,现在很多朋友看到这个效果应该是在Android的通知栏下拉中看到这个滑动删除的效果吧,我看到这个效果是在我之前的三星手

  • Android ListView常用小技巧汇总

    ListView在我们Android项目中的地位是有目共睹的,相信几乎每一个App中都有它的身影. ListView主要是用列表形式来加载数据,在特定情况下需要实现一些特殊功能:如刷新数据,加载数据,实现动画效果等. 作为我们常用的控件,有哪些需要注意的呢? **为ListView的每一Item设置分隔线 第一种方法:也是最简单地方法,在布局文件中设置ListView的 divider属性 如:android:divider="@color/black" 第二种方法:设置android

  • 详解Android应用中ListView列表选项栏的编写方法

    根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter,这三种适配器的使用大家可学习下官网上面的使用或者自行百度谷歌,一堆DEMO!!!其中以ArrayAdapter最为简单,只能展示一行字.SimpleAdapter有最好的扩充性,可以自定义出各种效果.SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方便的把数据库的内容以列表的形式展示出来. 系统要绘制ListView了

  • 实例讲解Android app开发中ListView的基本使用及优化

    一.直接使用ListView组件创建 1.直接在XML中创建ListView用entries属性附上一个数组资源 其中divider属性是设置分割线可以使用颜色和drawable资源分割 <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider=&

  • Android实现简单的分批加载ListView

    每次滑动至底端,从数据库中获取10条数据,并加载于ListView中 数据库 package com.example.listviewbatchloading; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlit

  • Android中ListView下拉刷新的实现方法

    ListView中的下拉刷新是非常常见的,也是经常使用的,看到有很多同学想要,那我就整理一下,供大家参考.那我就不解释,直接上代码了. 这里需要自己重写一下ListView,重写代码如下: package net.loonggg.listview; import java.util.Date; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater;

  • Android应用中通过Layout_weight属性用ListView实现表格

    今天主要说的是对Layout_weight属性的完全解析,以及利用Layout_weight这个属性使用ListView来实现表格的效果,我们都知道Android里面专门有一个TableLayout来实现表格的,说实话,我平常开发中用TableLayout还是比较少的,几乎没有用到,我们完全可以用LinearLayout和RelativeLayout来代替TableLayout的使用,自己开发中主要使用LinearLayout,RelativeLayout这两种布局,不过刚开始我还是偏爱于Rel

  • Android listview多视图嵌套多视图

    首先给大家展示下效果图: public class HomeEduMoreAdapter extends BaseAdapter { private final String TAG = "HomeEduMoreAdapter"; private static final int TYPE_COMMON = ; private static final int TYPE_BL = ; private static final int TYPE_NONE = ; private stat

  • Android应用中ListView利用OnScrollListener分页加载数据

    当用户从网络上读取微薄的时候,如果一下子全部加载用户未读的微薄这将耗费比较长的时间,造成不好的用户体验,同时一屏的内容也不足以显示如此多的内容.这时候,我们就需要用到另一个功能,那就是listview的分页了.通过分页分次加载数据,用户看多少就去加载多少. 通常这也分为两种方式,一种是设置一个按钮,用户点击即加载.另一种是当用户滑动到底部时自动加载.今天我就和大家分享一下这个功能的实现. 首先,写一个xml文件,moredata.xml,该文件即定义了放在listview底部的视图: <?xml

  • Android ListView异步加载图片方法详解

    本文实例讲述了Android ListView异步加载图片方法.分享给大家供大家参考,具体如下: 先说说这篇文章的优点把,开启线程异步加载图片,然后刷新UI显示图片,而且通过弱引用缓存网络加载的图片,节省了再次连接网络的开销. 这样做无疑是非常可取的方法,但是加载图片时仍然会感觉到轻微的卡屏现象,特别是listview里的item在进行快速滑动的时候. 我找了一下原因,可能是在listview快速滑动屏幕的时候划过的item太多 而且每次调用getView方法后就会异步的在过去某个时间内用han

随机推荐