首先拿到ListView,然后添加适配器,setAdapter参数是一个ListAdapter接口,若直接实现接口, 将有很多不必要的方法,一般这种情况都有一个对应的实现了相应接口的适配器类,BaseXXX、 DefaultXXX、SimpleXXX等。 在BaseAdapter的getView方法中,需要提供一个供显示内容的view,在此处应和scrollView 做对比,若ScrollView中要显示50条TextView的数据,那么就有50个TextView的对象在内存中, 这种情况下若数据很多,多至上万,是很消耗内存的,而此处为ListView添加适配器的形式,在指定了 view的模板后,TextView的数量只是保证能充满整个显示屏,也就是说在显示屏上需要显示新的 TextView的时候才会调用getView()方法,而旧的TextView一旦从屏幕上移除了,就没有任何对象 引用它了,等着呗垃圾回收器处理。这样内存中就只保证能充满显示屏的TextView对象,大大的节省了内存
public class MainActivity extends Activity { private ListView listView; private int i=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.listView); listView.setAdapter(new MyAdapter()); } private class MyAdapter extends BaseAdapter{ @Override public int getCount() { return 50; } @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 tv = new TextView(getApplicationContext()); tv.setTextSize(20); tv.setBackgroundColor(Color.BLUE); tv.setText(i++ + ""); return tv; } } }
<LinearLayout xmlns: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" android:orientation="vertical" > <ListView android:id="@+id/listView" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
相关推荐
NULL 博文链接:https://aarongo.iteye.com/blog/1918385
NULL 博文链接:https://aarongo.iteye.com/blog/1919251
Android listview实现自动自动换行!
ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>( MainActivity.this,android.R.layout.simple_list_item_1,msWordS ); ListView listView = findViewById(R.id.Main_ListView); listView....
android关于listview之列表分组,像Q上一样显示列表项
android多选ListView示例
Android使用ListView实现时间轴
Android利用listview浏览新闻
Android开发中listview属性的介绍
利用android studio实现listview嵌套listview,技术含量不是特别高,希望能帮助大家,这里就意思一下,给1分算啦
Android 单击listview弹出popupwindow弹出框,里面还附带listview右滑删除按钮。博客网址:http://blog.csdn.net/qq_16064871
Android ListView边框圆角美化,可以用来仿iphone的个别界面。相当有用。美观。
android 使用ListView来实现表格
Android ListView每个Item上面的有TextView和Button,为ListView每个Item上面的按钮添加事件,并获取TextView文本信息。
</ListView> </RelativeLayout> Adapter 常用数据适配器(Adapter) Common Data Adapter BaseAdapter即基本的适配器,使用BaseAdapter时需要实现四个方法。 public abstract int getCount() //得到Item条目的总数 ...
通过一个例子实现ListView列表视图并且点击不同的项进入不同的界面,需要的可以看看
Android 实现ListView滚动到底部自动加载数据
Android ListView卡片效果,源码下载。
android 一些listview不同的例子