国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android中GridView和ArrayAdapter用法實例分析

2020-04-11 10:52:42
字體:
來源:轉載
供稿:網友

本文實例分析了Android中GridView和ArrayAdapter用法。分享給大家供大家參考,具體如下:

GridView是一個表格化的二維排版的View,當GridView的文字放不下時會出現scrolling的效果,GridView中的元素命名為Item,要將Item放入GridView,需要ArrayAdapter對象。

例子如下:

import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.GridView;import android.widget.TextView;public class A06Activity extends Activity { private TextView tv;//兩個按鈕是動態(tài)放入GridView的開關,b01是設置GridView為兩列格式,并放入4//個item,b02設置為三列格式,并放入9個Item private Button b01,b02;// private GridView gv; private String[] s1,s2; private ArrayAdapter<String> aa;  /** Called when the activity is first created. */  @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    tv=(TextView)findViewById(R.id.tv);    b01=(Button)findViewById(R.id.button01);    b02=(Button)findViewById(R.id.button02);    gv=(GridView)findViewById(R.id.gv);    s1=new String[]{     getResources().getString(R.string.str_list01),     getResources().getString(R.string.str_list02),     getResources().getString(R.string.str_list03),     getResources().getString(R.string.str_list04)    };    s2=new String[]{     getResources().getString(R.string.str_list01),     getResources().getString(R.string.str_list02),     getResources().getString(R.string.str_list03),     getResources().getString(R.string.str_list04),     getResources().getString(R.string.str_list01),     getResources().getString(R.string.str_list02),     getResources().getString(R.string.str_list03),     getResources().getString(R.string.str_list04),     getResources().getString(R.string.str_list04)    };    b01.setOnClickListener(new OnClickListener(){  @Override  public void onClick(View v) {  // TODO Auto-generated method stub  gv.setNumColumns(2);  aa=new ArrayAdapter<String>(A06Activity.this,R.layout.list_item_l_small,s1);  gv.setAdapter(aa);  gv.setSelection(2);  gv.refreshDrawableState();  }  });  b02.setOnClickListener(new OnClickListener(){  @Override  public void onClick(View v) {  // TODO Auto-generated method stub  gv.setNumColumns(2);  aa=new ArrayAdapter<String>(A06Activity.this,R.layout.list_item_l_small,s2);  gv.setAdapter(aa);  }  });  //利用GridView的OnClickListener()方法用來捕捉用戶單擊的是哪個item  gv.setOnItemClickListener(new OnItemClickListener(){  @Override  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,   long arg3) {  // 判斷Adapter中元素的個數,判斷被單擊的是第幾個元素的名稱  switch(aa.getCount()){  case 4:   tv.setText(s1[arg2]);   break;  case 9:   tv.setText(s2[arg2]);   break;  }  }  });  }}

res/layout/main.xml如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  android:orientation="vertical" >  <TextView    android:id="@+id/tv"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="@string/hello" />  <Button     android:id="@+id/button01"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    />  <Button     android:id="@+id/button02"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    />  <GridView     android:id="@+id/gv"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    ></GridView></LinearLayout>

res/layout/list_item_l_small的作用是配置ArrayAdapter的第二個參數textViewResourceId,參數必須為TextView進行配置。若需要更改放入item的文字模式,可以通過這個來設置文字的大小、模式的屬性設置,而一旦放入ArrayAdapter,這個配置會立即生效。也可以設置許多的layout xml,提供給不同的GridView使用,讓每一個GridView都有不同的風貌。

<?xml version="1.0" encoding="utf-8"?><TextView   xmlns:android="http://schemas.android.com/apk/res/android"  android:id="@+id/myCheckedTextView1"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:textColor="@drawable/blue"  android:textSize="12dp"  android:textAppearance="@android:attr/textAppearanceLarge"  android:gravity="center_vertical"  android:paddingLeft="6dip"  android:minHeight="@android:attr/listPreferredItemHeight"/>

更多關于Android相關內容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進階教程》、《Android基本組件用法總結》及《Android控件用法總結

希望本文所述對大家Android程序設計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 乃东县| 新化县| 南溪县| 湖南省| 雷山县| 抚顺县| 海盐县| 吐鲁番市| 佛冈县| 新宾| 辽宁省| 连州市| 安阳县| 淳化县| 永仁县| 鄂托克前旗| 福鼎市| 汝城县| 乐业县| 永川市| 阿拉善右旗| 逊克县| 元氏县| 贞丰县| 普兰店市| 阿合奇县| 遂溪县| 平南县| 兴和县| 舟曲县| 宽城| 彭山县| 和田市| 府谷县| 类乌齐县| 抚松县| 郸城县| 曲水县| 合肥市| 荔波县| 吐鲁番市|