日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android从零开始(十一)

發布時間:2025/7/14 Android 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android从零开始(十一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
知識點:BaseAdapter

一般的數據資料都是介紹用ArrayAdapter 、SimpleAdapter 、SimpleCursorAdapte,但是個人喜歡用BaseAdapter,原因很簡單,BaseAdapter使用起來條理清楚,你想用列些什么數據就定義什么數據列出來,下面就看看它是怎么玩的吧···

首先看一下效果:




步驟一:編寫布局(代碼如下)
activity_main.xml:
Java代碼
  • <RelativeLayout 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"
  • tools:context=".MainActivity" >
  • <ListView
  • android:layout_width="fill_parent"
  • android:layout_height="fill_parent"
  • android:id="@+id/list_view"
  • />
  • </RelativeLayout>
  • <RelativeLayout 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"tools:context=".MainActivity" ><ListViewandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:id="@+id/list_view" /></RelativeLayout>


    list_item_layout.xml:
    Java代碼
  • <?xml version="1.0" encoding="utf-8"?>
  • <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  • android:layout_width="match_parent"
  • android:layout_height="match_parent"
  • android:orientation="horizontal" >
  • <ImageView
  • android:layout_width="160dp"
  • android:layout_height="100dp"
  • android:scaleType="fitCenter"
  • android:id="@+id/list_item_image"
  • />
  • <LinearLayout
  • android:layout_width="fill_parent"
  • android:layout_height="fill_parent"
  • android:orientation="vertical"
  • >
  • <TextView
  • android:layout_width="fill_parent"
  • android:layout_height="wrap_content"
  • android:gravity="center"
  • android:textSize="30sp"
  • android:id="@+id/list_item_txt1"
  • />
  • <TextView
  • android:layout_width="fill_parent"
  • android:layout_height="wrap_content"
  • android:textSize="15sp"
  • android:id="@+id/list_item_txt2"
  • />
  • </LinearLayout>
  • </LinearLayout>
  • <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal" ><ImageView android:layout_width="160dp"android:layout_height="100dp"android:scaleType="fitCenter"android:id="@+id/list_item_image"/><LinearLayout android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center"android:textSize="30sp"android:id="@+id/list_item_txt1"/><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:textSize="15sp"android:id="@+id/list_item_txt2"/></LinearLayout></LinearLayout>


    步驟二、Activity準備數據(核心代碼):

    Java代碼
  • package com.veryedu.baseadapter;
  • import java.util.ArrayList;
  • import com.example.baseadapter.R;
  • import android.os.Bundle;
  • import android.app.Activity;
  • import android.util.Log;
  • import android.view.LayoutInflater;
  • import android.view.Menu;
  • import android.view.View;
  • import android.view.ViewGroup;
  • import android.widget.BaseAdapter;
  • import android.widget.ImageView;
  • import android.widget.ListView;
  • import android.widget.TextView;
  • public class MainActivity extends Activity {
  • ArrayList data;
  • @Override
  • protected void onCreate(Bundle savedInstanceState) {
  • super.onCreate(savedInstanceState);
  • setContentView(R.layout.activity_main);
  • ListView listView=(ListView)this.findViewById(R.id.list_view);
  • //準備數據源
  • data=new ArrayList();
  • data.add(new HuoYing(R.raw.hyrz2_001, "粗眉", "不會忍術,但是體術超強,青春無極限"));
  • data.add(new HuoYing(R.raw.hyrz2_002, "奈良鹿丸", "分析能力超強"));
  • data.add(new HuoYing(R.raw.hyrz2_003, "李洛克", "體術的繼承人"));
  • data.add(new HuoYing(R.raw.hyrz2_004, "春野櫻", "大扇子"));
  • data.add(new HuoYing(R.raw.hyrz2_005, "天天", "超多刃具玩家"));
  • data.add(new HuoYing(R.raw.hyrz2_006, "山中井野", "年輕豬肉跌蝶成員"));
  • data.add(new HuoYing(R.raw.hyrz2_007, "日向寧次", "白眼,相當于望遠鏡吧"));
  • listView.setAdapter(new BaseAdapter() {
  • //getView,是BaseAdapter的核心方法
  • //這個方法將決定數據以何種布局填充到哪些控件中
  • @Override
  • public View getView(int position, View convertView, ViewGroup parent) {
  • // TODO Auto-generated method stub
  • //為當前的View指定布局文件
  • //如果是找控件,我們使用findViewById
  • //如果是找資源,我們使用getResources
  • //如果是找布局,我們使用LayoutInflater
  • Log.v("TAG", "當前是第"+position+"項");
  • //getView會被反復調用:當數據項在屏幕中顯示的時候就調用這個方法
  • //這每個數據項的布局是一樣,僅僅只是數據不同,所以在這里進行一個判斷
  • //避免重復加載布局
  • if(convertView==null){
  • convertView=LayoutInflater.from(MainActivity.this).inflate(R.layout.list_item_layout,null);
  • }
  • //獲取數據源中的數據
  • HuoYing hy=(HuoYing)data.get(position);
  • //獲取當前項的控件
  • ImageView image_view=(ImageView)convertView.findViewById(R.id.list_item_image);
  • TextView text_view1=(TextView)convertView.findViewById(R.id.list_item_txt1);
  • TextView text_view2=(TextView)convertView.findViewById(R.id.list_item_txt2);
  • //將數據填充到控件中
  • image_view.setImageResource(hy.image);
  • text_view1.setText(hy.name);
  • text_view2.setText(hy.mtext);
  • return convertView;
  • }
  • @Override
  • public long getItemId(int position) {
  • // TODO Auto-generated method stub
  • return position;
  • }
  • @Override
  • public Object getItem(int position) {
  • // TODO Auto-generated method stub
  • return data.get(position);
  • }
  • @Override
  • public int getCount() {
  • // TODO Auto-generated method stub
  • //一班都這么寫,顯示所有的數據
  • return data.size();
  • }
  • });
  • }
  • @Override
  • public boolean onCreateOptionsMenu(Menu menu) {
  • // Inflate the menu; this adds items to the action bar if it is present.
  • getMenuInflater().inflate(R.menu.activity_main, menu);
  • return true;
  • }
  • }
  • package com.veryedu.baseadapter;import java.util.ArrayList;import com.example.baseadapter.R;import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView;public class MainActivity extends Activity {ArrayList data;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ListView listView=(ListView)this.findViewById(R.id.list_view);//準備數據源data=new ArrayList();data.add(new HuoYing(R.raw.hyrz2_001, "粗眉", "不會忍術,但是體術超強,青春無極限"));data.add(new HuoYing(R.raw.hyrz2_002, "奈良鹿丸", "分析能力超強"));data.add(new HuoYing(R.raw.hyrz2_003, "李洛克", "體術的繼承人"));data.add(new HuoYing(R.raw.hyrz2_004, "春野櫻", "大扇子"));data.add(new HuoYing(R.raw.hyrz2_005, "天天", "超多刃具玩家"));data.add(new HuoYing(R.raw.hyrz2_006, "山中井野", "年輕豬肉跌蝶成員"));data.add(new HuoYing(R.raw.hyrz2_007, "日向寧次", "白眼,相當于望遠鏡吧"));listView.setAdapter(new BaseAdapter() {//getView,是BaseAdapter的核心方法//這個方法將決定數據以何種布局填充到哪些控件中@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stub//為當前的View指定布局文件//如果是找控件,我們使用findViewById//如果是找資源,我們使用getResources//如果是找布局,我們使用LayoutInflaterLog.v("TAG", "當前是第"+position+"項");//getView會被反復調用:當數據項在屏幕中顯示的時候就調用這個方法//這每個數據項的布局是一樣,僅僅只是數據不同,所以在這里進行一個判斷//避免重復加載布局if(convertView==null){convertView=LayoutInflater.from(MainActivity.this).inflate(R.layout.list_item_layout,null);}//獲取數據源中的數據HuoYing hy=(HuoYing)data.get(position);//獲取當前項的控件ImageView image_view=(ImageView)convertView.findViewById(R.id.list_item_image);TextView text_view1=(TextView)convertView.findViewById(R.id.list_item_txt1);TextView text_view2=(TextView)convertView.findViewById(R.id.list_item_txt2);//將數據填充到控件中image_view.setImageResource(hy.image);text_view1.setText(hy.name);text_view2.setText(hy.mtext);return convertView;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn data.get(position);}@Overridepublic int getCount() {// TODO Auto-generated method stub//一班都這么寫,顯示所有的數據return data.size();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.activity_main, menu);return true;}}

    轉載于:https://www.cnblogs.com/shhaoran/archive/2013/02/04/2924529.html

    總結

    以上是生活随笔為你收集整理的Android从零开始(十一)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。