2 wuhudamahua wuhudamahua 于 2016.04.22 21:12 提问

Android的listview问题中的adapter

@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView =LayoutInflater.from(MainActivity.this).inflate(R.layout.activity_main, null);

        if(convertView!=null)
        {
            textview=(TextView) convertView;
        }else
        {
            textview = (TextView) convertView.findViewById(R.id.textview);
        }
        一直抱linearlayout不能转换为textview,如果我要实现convertView的使用,
        这个代码要怎么改

13个回答

q610098308
q610098308   2016.04.23 00:17
已采纳

1.你需要新建一个布局:
例如,布局中只有一个TextView:
listview_cell.xml
<?xml version="1.0" encoding="utf-8"?>
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:text="New Text" />

adapter 代码里要这么写
@Override
public View getView(int position, View convertView, ViewGroup parent) {

    if(convertView!=null)
    {
        textview=(TextView) convertView;//上面布局中只有一个TextView,可以强转,否则不可以;
    }else
    {
                convertView =LayoutInflater.from(MainActivity.this).inflate(R.layout.listview_cell, null);
        textview = (TextView) convertView;
    }

            return convertView;
            }

            可以对比一下代码,你写了有几个不对的地方;
CSDNXIAOD
CSDNXIAOD   2016.04.22 21:22

Android中ListView的addFooterView不显示的有关问题和adapter
Android listview与adapter用法
Android中ListView的Adapter和ContextMenu
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

freedom_wings5
freedom_wings5   2016.04.22 22:02

笨拙的在下表示看不明白你把linearlayout转换为textview那里是想干什么,也没见过有人要把linearlayout转换为textview

zhuod
zhuod   2016.04.22 22:17

activity_main这个布局的只有一层textview吗,如果不是,你这样强转肯定出问题,而且你这样写的代码非常不规范,几乎不会有人像你这样写

zhuod
zhuod   2016.04.22 22:16

activity_main这个布局的只有一层textview吗,如果不是,你这样强转肯定出问题,而且你这样写的代码非常不规范,几乎不会有人像你这样写

baiyuliang2013
baiyuliang2013   2016.05.06 10:17

看listview_cell布局,最外层只有是TextVIew才能这样干

sinat_21102069
sinat_21102069   2016.05.15 17:46

你这个逻辑有问题啊,找找网上代码吧,有很多

qq_27578023
qq_27578023   2016.06.04 16:19

1.你需要新建一个布局:
例如,布局中只有一个TextView:
listview_cell.xml
<?xml version="1.0" encoding="utf-8"?>
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:text="New Text" />

adapter 代码里要这么写
@Override
public View getView(int position, View convertView, ViewGroup parent) {

if(convertView!=null)
{
    textview=(TextView) convertView;//上面布局中只有一个TextView,可以强转,否则不可以;
}else
{
            convertView =LayoutInflater.from(MainActivity.this).inflate(R.layout.listview_cell, null);
    textview = (TextView) convertView;
}

        return convertView;
        }

        可以对比一下代码,你写了有几个不对的地方;
qq_35182702
qq_35182702   2016.06.11 22:48

1.你需要新建一个布局:
例如,布局中只有一个TextView:
listview_cell.xml
<?xml version="1.0" encoding="utf-8"?>
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:text="New Text" />

adapter 代码里要这么写
@Override
public View getView(int position, View convertView, ViewGroup parent) {

if(convertView!=null)
{
textview=(TextView) convertView;//上面布局中只有一个TextView,可以强转,否则不可以;
}else
{
convertView =LayoutInflater.from(MainActivity.this).inflate(R.layout.listview_cell, null);
textview = (TextView) convertView;
}

    return convertView;
    }

    可以对比一下代码,你写了有几个不对的地方;
qq_35182702
qq_35182702   2016.06.11 22:48

1.你需要新建一个布局:
例如,布局中只有一个TextView:
listview_cell.xml
<?xml version="1.0" encoding="utf-8"?>
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:text="New Text" />

适配器里面的 代码里要这么写
@Override
public View getView(int position, View convertView, ViewGroup parent) {

if(convertView!=null)
{
textview=(TextView) convertView;//上面布局中只有一个TextView,可以强转,否则不可以;
}else
{
convertView =LayoutInflater.from(MainActivity.this).inflate(R.layout.listview_cell, null);
textview = (TextView) convertView;
}

    return convertView;
    }

    然后你可以对比一下代码,你写的代码有几个地方是不正确的 ,;
共13条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
【Android】自定义ListView的Adapter报空指针异常解决方法
刚刚使用ViewHolder的方法拉取ListView的数据,但是总会报异常。仔细查看代码,都正确。 后来打开adapter类,发现getView的返回值为null。 即return null。 将null 修改为view后恢复正常。
android之ListView的Adapter使用
在做一个小练习的时候,又遇到了Adapter,才发现以前没有对它进行过记录 现在介绍一下: 其实Adapter就是数据和视图之间的桥梁,数据在adapter中做处理,然后显示到ListView上面 Adapter有很多种,有ArrayAdapter, BaseAdapter, CursorAdapter, HeaderViewListAdapter, ListAdapter,Resource
Android ListView几种Adapter用法简介
ArrayAdapter<T> 适合非常简单的数据显示,很方便,很简单。 SimpleAdapter 可以自定义Item布局,用于显示交简单的布局及控件,但布局内的控件如按钮等无法获取到焦点,当然也就无法获取到他们的点击事件。 SimpleCursorAdapter 与SimpleAdapter相似,只是他的数据源是Cursor类型而已。 BaseAdpter子类 最常用的ListView数据适配器,通过继承BaseAdpter可以较灵活的实现数据的绑定,同时通过使用View
Android listview 列表更新数据+重写adapter
①在布局文件中添加listview控件(lishishujv.xml):<ListView android:id="@+id/lishilv" android:layout_width="800dp" android:layout_height="300dp" android:layout_marginTop="20dp" > </Li
Android ListView框架搭建:抽取Adapter共性的方法与属性进行封装
1、创建基类BaseHolder,把与ConvertView相关的数据操作全部在这个类里实现public abstract class BaseHolder<T> { protected View contentView; protected T data; public BaseHolder(){ contentView=initView();
Android通过Adapter获取ListView中的多选内容
获取ListView中CheckBox多选值的方式多种多样,比如利用setMultiChoiceModeListener这个接口通过监听ListView获取到选中值,也可以通过HashMap的键值来记录CheckBox对应位置的选中状态从而拿到选中值,不过我自己结合网上的情况做了一个比较简单的方法,本人是个小白,也不知道这种方法的的利弊,只是想分享出来,大神如果有什么看法请指导,谢谢;原理:在自定义
安卓--ListView和Adapter的关系和如何使用实例
说在前面: 在做联系人列表和消息列表之类的时候经常用到listview和adapter,相信代码都会写,往上的例子也多的数不胜数,我搜了一下介绍listview和adapter之间关系的博文并不多,说的详细的更少,今天就把我对他们之间关系的理解说一说,说不明白就直接上图;再加上一个例子来说明怎么用。 1.listview和adapter之间的关系: 我喜欢安卓字面意思理解,listview就
安卓中常见ListView等加载Adapter后的错乱问题
(好记性,不如烂笔头)   经验不够的“码道”修行者,常常碰到各种类型的列表数据,当然最为常见的要数ListView。“看似简单的背后,往往存在着千层的杀机”——网络中描述的BaseAdapter为万能的适配器,当然它算是我们最为熟悉但又陌生的一位“道友”。何为熟悉?何为陌生?熟悉,刚入道的苦行者,基本都能根据它的常见用法而完成自己的意愿;陌生,但又常常因为它的种种神秘做法使得我们窘态无言。
Android ListView 中的Adapter 优化 缓存 getContext()
Android ListView 优化 缓存 getContext()开发过程中 傻傻的患过的错 说出来和大家分享 在adapter中 创建 class 类 类似实体类 大家应该都知道这么做 1: 缓存 class Holder { LinearLayout ll_type1; RelativeLayout ll_type2; Tex
Android 自定义Adapter以实现自定义填充ListView的Item
1>实体类---即ListView中各个Item中填充的内容 package com.demo.cxc.compoundview.com.demo.cxc.entity; import java.text.SimpleDateFormat; import java.util.Date; /** * Created by CXC on 15/4/14. */ public class To