Android ListView 自定义用法(ListView 实现单选功能)

  次阅读 作者:智能小宝 来源:互联网 2015-11-26 09:31 我要评论(0)

个性化的listview 方法有很多,我还是喜欢自定义adapter 因为看起来比较条理清晰。

首先你要建立你的listview

<ListView android:layout_width="fill_parent"

android:cacheColorHint="#00000000"

android:id="@layout/userone"

android:dividerHeight="0.5dip"

android:layout_height="wrap_content">

</ListView>

android:cacheColorHint="#00000000"

这句的意思是底色设为透明。如果你是黑色的listview的话这句就没必要了。这句是个性化其他颜色和风格的listview的时候

解决listview点击不松开下拉的时候部分变黑的问题。

android:id="@layout/userone"

这句的意思是定义id 名称,为什么这么定义了因为我在layout目录下有一个userone.xml作为listview的每一项。个性化由此开始。

那是不是你的userone.xml就是跟你的listview每项都一样了呢。没这么简单哇。要进行代码编写。如下。

public class ModelActivity extends Activity {

private ListView listview;

public void onCreate(Bundle savedInstanceState) {

listview = (ListView) findViewById(R.layout.userone);//你直接找listview的坐标也哦哦

listview.setAdapter(new MyAdapter(this));// 加入适配器-适配器就是简单的说就是copy的工具,就是当很多一样的布局可以进行复制。

}

}

//需要重写4个方法

public class MyAdapter extends BaseAdapter {

private LayoutInflater inflater;//这个是神马?反正自定义界面都要用它。

private View myView;

public MyAdapter(Context c) {

this.inflater = LayoutInflater.from(c);

}

public int getCount() {

return 5;//这个就是适配器复制的数量。返回1就1项。

}

public Object getItem(int position) {

return null;//返回每项的对象

}

public long getItemId(int position) {

return 0;//返回每项的id

}

//getView为主要方法

public View getView(int position, View convertView, ViewGroup parent) {

myView = inflater.inflate(R.layout.userone, null);

return myView ;

}

}

//这样自定义listview就成功啦,当然这是个简单的啦。

上面的userone.xml进行自定义。

贴一下我的代码

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout android:id="@+id/LinearLayout01"

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent" android:orientation="horizontal"

android:gravity="center_vertical" android:layout_height="75dip">

<TableLayout android:id="@+id/TableLayout01"

android:layout_width="fill_parent" android:layout_height="75dip"

android:layout_weight="1">

<TableRow android:id="@+id/TableRow01" android:layout_width="wrap_content"

android:layout_height="wrap_content">

<TextView android:id="@+id/TextView_model"

android:layout_weight="2" android:layout_width="fill_parent"

android:textColor="@color/ziti" android:gravity="center_vertical"

android:textSize="20sp" android:layout_height="35dip"

android:layout_marginLeft="10dip"></TextView>

</TableRow>

<TableRow android:id="@+id/TableRow02" android:layout_height="fill_parent"

android:layout_width="fill_parent">

<TextView android:id="@+id/TextView01" android:text="@string/ps_jiawu"

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...