文档章节

android中的BaseAdapter使用

tomcater
 tomcater
发布于 2014/04/15 13:59
字数 374
阅读 167
收藏 6

BaseAdapter主要用法:
定义一个类MyAdapter继承BaseAdaoter,然后重写里面的方法

private class MyAdapter extends BaseAdaper{
pulic int getCount(){
return 0;
}
public Object getItem(int arg0){
return null;
}
public long getItemId(int position){
return 0;
}
public View getView(int position,View convertView,ViewGroup parent){
return null;
}
}

做一个Demo
main.xml文件如下

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="Welcome to Mr Dong's Blog"
    />
    <Spinner   
      android:id="@+id/spinner"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
    />
     <ListView  
        android:id="@+id/listview"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
    /> 
    <GridView  
        android:id="@+id/gridview"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
    />
</LinearLayout>
 BaseAdapterDemo.java代码如下
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;
public class BaseAdapterDemo extends Activity {
     
    private Spinner mSpinner;
    private ListView mListView;
    private GridView mGridView;
    private MyAdapter mMyAdapter;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        setupViews();
    }
      
    public void setupViews(){
        mMyAdapter = new MyAdapter();
        mSpinner = (Spinner)findViewById(R.id.spinner);
        mSpinner.setAdapter(mMyAdapter);
        mListView = (ListView)findViewById(R.id.listview);
        mListView.setAdapter(mMyAdapter); 
        mGridView = (GridView)findViewById(R.id.gridview);
        mGridView.setAdapter(mMyAdapter);
        mGridView.setNumColumns(2);
      
   }
      
    //定义自己的适配器,注意getCount和getView方法 
    private class MyAdapter extends BaseAdapter{
        @Override
        public int getCount() {
            // 这里我就返回10了,也就是一共有10项数据项 
           return 10;
        }
        @Override
        public Object getItem(int arg0) {
            return arg0;
        }
        @Override
        public long getItemId(int position) {
            return position;
        }
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // position就是位置从0开始,convertView是Spinner,ListView中每一项要显示的view 
            //通常return 的view也就是convertView 
            //parent就是父窗体了,也就是Spinner,ListView,GridView了. 
            TextView mTextView = new TextView(getApplicationContext());
            mTextView.setText("BaseAdapterDemo");
            mTextView.setTextColor(Color.RED);
            return mTextView; 
        }
          
    }
}

© 著作权归作者所有

共有 人打赏支持
tomcater
粉丝 4
博文 43
码字总数 55169
作品 0
海淀
程序员
view-ListView学习

LiastView网上有很多,推荐如下: 1、android ListView详解: http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html 2、Android中ListView的性能问题 http://android.tgbus.com/A......

工作日
2011/12/27
0
0
Android Your content must have a ListView whose...

Android Your content must have a ListView whose id attribute is 'android.R.id.list'错误的解决办法 在Android开发中,ListView有着很重要的地位,使用的场合也非常的多 错误提示:Your ...

哈全文
2012/04/21
0
0
Android GridView九宫图

属性名称 描述 android:columnWidth 设置列的宽度。 android:gravity 设置此组件中的内容在组件中的位置。可选的值有:top、bottom、left、right、centervertical、 fillvertical、centerhor...

amigos_wu
2012/06/13
0
0
Android ListView 滑动背景为黑色的解决办法 listview小知识整理

在别的地方看到的,转过来作为记录!! 在Android中,ListView是最常用的一个控件,在做UI设计的时候,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备...

假装是大神
2012/12/20
0
0
Android memory leaks(摘抄)

至少在T-Mobile G1上Android应用在堆上分配的内存大小被限制16MB以内。对于手机来说,这是个不小的内存,但是这仍然远远不能满足一些开发者的需求。但是,即使你不打算使用所有的内存空间,你...

大疯子
2012/09/11
0
1

没有更多内容

加载失败,请刷新页面

加载更多

利用碎片化时间Get Linux系统

起初,我做着一份与IT毫无关系的工作,每月领着可怜的工资,一直想改变现状,但无从下手,也就是大家熟知的迷茫。我相信,每一个人都会或多或少的经历过迷茫,迷茫每一个选择,迷茫工作或者生...

Linux就该这么学
34分钟前
0
0
图像显示深入学习一:Activity启动过程

一个月左右写了图像显示深入学习之文章开篇文章表明了自己近期的计划,前半年重新学习了opengl es,c++以及Linux的一些知识,觉得是时候开始看图像这一块的源码了,边看边补缺补漏吧。 作为该...

JerryLin123
56分钟前
1
0
给MySQL授权远程访问

putty登录服务器; 登录MySQL: mysql -u root -p 新建远程用户: CREATE USER 'myusername' IDENTIFIED BY 'mypassword'; 授权: grant all on *.* to john@'101.102.103.104' identified by......

sweethome
今天
1
0
在t-io老巢造谣,不过有造谣的就会有反造谣的!

只发当事人的截图,不发表评论,以免有引导嫌疑 PS: 截图是由不同的人发过来的 本人已经不在此微信群 图3:有造谣的,就有反造谣的 图4是2018-09-23的t-io官方群的一个发言小统计,有助于让...

talent-tan
今天
102
0
heartbeat 资源

drbd+apache+heartbeat : http://blog.51cto.com/11838039/1827901 heartbeat双机热备的架设 : http://blog.51cto.com/11838039/1827560 对heaetbeat的深一步认识 : http://blog.51cto.co......

寰宇01
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部