編輯:Android資訊
當在某個網站注冊賬號的時候,網站會讓我們提供性別,生日,城市等信息,為了方便,就提供了一個下拉列表供我們選擇,在Android也同樣有這樣的功能,這就是Spinner下拉列表
在編碼的同時,首先需要在布局中定時Spinner組件,然後將可選內容通過ArrayAdapter和下拉列表連接起來,最後要獲得用戶選擇的選項,我們需要設計事件監聽器setOnItemSelectedListener並實現onItemSelected,從而獲得用戶所選擇的內容,最後通過setVisibility方法設置當前的顯示項
SpinnerTest.java
package org.hualang.Spinner;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class SpinnerTest extends Activity {
/** Called when the activity is first created. */
private static final String[] citys={"杭州","北京","成都","大連","深圳","南京"};
private TextView text;
private Spinner spinner;
private ArrayAdapter<String> adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
text=(TextView)findViewById(R.id.text);
spinner=(Spinner)findViewById(R.id.spinner);
//將可選內容與ArrayAdapter連接
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,citys);
//設置下拉列表風格
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//將adapter添加到spinner中
spinner.setAdapter(adapter);
//添加Spinner事件監聽
spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
text.setText("你所在的城市是:"+citys[arg2]);
//設置顯示當前選擇的項
arg0.setVisibility(View.VISIBLE);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
}
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:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="您所在的城市" /> <Spinner android:id="@+id/spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" /> </LinearLayout>
運行結果:


Android自定義圓形進度條實現代碼
今天無意中發現一個圓形進度,想想自己實現一個,如下圖: 基本思路是這樣的: 1.首先繪制一個實心圓 2.繪制一個白色實心的正方形,遮住實心圓 3.在圓的中心動態
深入理解Android NDK日志符號化
前言 為了進行代碼及產品保護,幾乎所有的非開源App都會進行代碼混淆。這樣,當收集到崩潰信息後,就需要進行符號化來還原代碼信息,以便開發者可以定 位Bug。基於使
Android 中如何選擇 compileSdkVersion, minSdkVersion 和 targetSdkVersion
作者:Ian Lake,Google Android 推廣工程師;翻譯:韓國恺。 當你發布一個應用之後,(取決於具體的發布時間)可能沒過幾個月 Android 系
Facebook移動架構:Android Flux架構詳解
要為Android應用找到一個好的架構不是一件容易的事情。谷歌似乎不太在乎這個事情,因此在設計模式上,除了Activity 生命周期管理之外,再也沒有官方的推薦。