java-Android的listview问题

问题描述

Android的listview问题

package com.example.listview;

import android.app.Activity;
import android.content.Context;
import android.database.DataSetObserver;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity {

private Context mContext;
private TextView textview;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //1找到listview
    ListView listview=(ListView)findViewById(R.id.listview);
    //2创建一个adapter对象,以为下面已经申明了一个类
    mylistadpater mylistadpater1=new mylistadpater();
    //3将adapter设置个listview
    listview.setAdapter(mylistadpater1);

}

class mylistadpater extends BaseAdapter{//default base simple

@Override
public int getCount() {
    // TODO Auto-generated method stub
    //集合里面又多少条目,告诉listview要显示多少条目
    return 10;
}

//根据position获取listview上面的bean书局,该方法不影响数据的展示,可以先不实现
@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    textview=(TextView)findViewById(R.id.TextView);
    textview.setText("position:"+position);
    return textview;

}

}
}
不报错,但是安装到虚拟机上面就立刻崩溃

解决方案

你这个适配器写的,你那个getView()返回的是一个item项,你这个返回一个textview是个什么鬼。因为写convertview =LayoutInflater.from(MainActivity.this).inflate(R.layout.list_item, null); tv = (TextView) convertView.findViewById(R.id.tv);。。。。。。 return convertView;

解决方案二:

奔溃,你先看看logcat的日志,里面会有显示的,根据具体错误找问题

解决方案三:

原创教程,转载请保留出处:http://www.eoeandroid.com/thread-72369-1-1.html

最近有需求需要在listView中载入不同的listItem布局,开始没有使用convertView,加载了多个item后导致了内存泄露,所以回来研究convertView在多个listItem布局时的缓存及应用,并且和大家分享

构造Ad......
答案就在这里:Android:关于ListView的内存泄漏问题

解决方案四:

getView( )方法中 写的有问题,
一般需要引入一个listv的布局item
View view=View..inflate(this,R.layout.list_item, null);
textview=view.findViewById(R.id.TextView);
然后在设置值;

解决方案五:

给你参考一下

解决方案六:

把布局贴出来,是不是item布局错了

解决方案七:

你的适配器中都没有应用你的布局,convertview =LayoutInflater.from(MainActivity.this).inflate(R.layout.list_item, null); tv = (TextView) convertView.findViewById(R.id.tv);。。。。。。 return convertView;

解决方案八:

getView中 需要用convertview 这个参数去convertview.findbyId().找到对应的id

时间: 2024-12-02 12:15:17

java-Android的listview问题的相关文章

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

其实实现ListView过滤功能最方便的便是使用ArrayAdapter,里面自带的 getFilter()方法能很方便的实现此功能,但是在实际的开发中,一般都是继承于 BaseAdapter.还有一种是利用控件AutoComplete,这种方式只是在输入框的下方 重新显示一个列表,显然,很多时候这两种方式也满足不了我们的要求. 在Activity中定义一个类,让它实现TextWatcher接口,然后再onTextChanged 方法中去过滤.然后常见相应的Pattern和match,来判断传入

android中ListView数据刷新时的同步方法

  本文实例讲述了android中ListView数据刷新时的同步方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

android实现listview分页的方法

  本文实例讲述了android实现listview分页的方法.分享给大家供大家参考.具体分析如下: 最近做了下listview的分页,跟WEB上的分页是一个意思,需要那几个分页参数,不同的是sqlite中分页的查询语句,简便的方法需要用Limit,Offset关键字,前者是查询每页展示的记录数,后者是越过多少记录数,说得明白点就是忽略前面多少行记录之后,取多少行记录 我分页采用了一个重要的类Page,通过封装Page类,做为参数传递进来,返回出去也是个Page对象 ? 1 2 3 4 5 6

Android为ListView的Item设置不同的布局

  MainActivity如下: package cc.testlistview; import java.util.ArrayList; import java.util.HashMap; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import andr

Android中ListView绑定CheckBox实现全选增加和删除功能(DEMO)_Android

ListView控件还是挺复杂的,也是项目中应该算是比较常用的了,所以写了一个小Demo来讲讲,主要是自定义adapter的用法,加了很多的判断等等等等-.我们先来看看实现的效果吧! 好的,我们新建一个项目LvCheckBox 我们事先先把这两个布局写好吧,一个是主布局,还有一个listview的item.xml,相信不用多说 activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/

Android自定义ListView实现仿QQ可拖拽列表功能_Android

我们大致的思路,其实是这样子的,也是我的设想,我们可以先去实现一个简单的ListView的数据,但是他的Adapter,我们可以用系统封装好的,然后传递进去一个实体类,最后自定义一个listview去操作,所以我们先把准备的工作做好,比如? list_item.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.a

Android的ListView多选删除操作实现代码_Android

最近尝试做了个listview的多选demo,网上看其他人的例子感觉不是很难,自己动手做了下,各种细节问题,没那么简单啊.既然做了,简单写个笔记记录下. 练手demo,命名笔记乱,不要介意哦. 主界面布局activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/to

Android实现ListView左右滑动删除和编辑_Android

有时候,为了实现项目中的需求,完成设计好的用户交互体验,不的不把这些View重新改造成自己想要的效果. Android原生的ListView是不支持左右滑动的,但是看到微信电话本上,联系人可以左右滑动进行操作的,就通过自己的设想和思路,并加以实现了. 思路: 1.获取到手指放到屏幕时的x,y位置,并判断点击的处于ListView的那个position. 2.判断滑动的方向,如果是上下方向,touch事件就交给ListView处理:如果是左右方向,就禁止ListView进行滑动. 3.根据手指的移

Android中ListView如何分页加载数据_Android

熟悉Android的朋友们都知道,不管是微博客户端还是新闻客户端,都离不开列表组件,可以说列表组件是Android数据展现方面最重要的组件,我们今天就要讲一讲列表组件ListView加载数据的相关内容.通常来说,一个应用在展现大量数据时,不会将全部的可用数据都呈现给用户,因为这不管对于服务端还是客户端来说都是不小的压力,因此,很多应用都是采用分批次加载的形式来获取用户所需的数据.比如:微博客户端可能会在用户滑动至列表底端时自动加载下一页数据,也可能在底部放置一个"加载更多"按钮,用户点

Android实现ListView分页自动加载数据的方法_Android

Android应用开发中,采用ListView组件来展示数据是很常用的功能,当一个应用要展现很多的数据时,一般情况下都不会把所有的数据一次就展示出来,而是通过分页的形式来展示数据,个人觉得这样会有更好的用户体验.因此,很多应用都是采用分批次加载的形式来获取用户所需的数据.例如:微博客户端可能会在用户滑动至列表底端时自动加载下一页数据,也可能在底部放置一个"查看更多"按钮,用户点击后,加载下一页数据. 下面通过一个Demo来展示ListView功能如何实现:该Demo通过在ListVie