2012年2月7日 星期二

[TQC+ Android] 1-8 選擇手機型號 Use Spinner






將Spinner元件預設為"請選擇" , 當選擇了某一手機型號時 , 將此型號接續顯示於"選擇手機型號"的TextView中 , 如選取的選項惟請選擇時(即不選擇任何型號) , TextView後方步顯示任何文字 , 一般來說在設定下拉選單的呈現樣式 , 我們都是使用Android 提供的 , 就像下面那行程式碼 setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) , 而這題要求我們使用自製的TextView去替換 , 其實Android所提供的 android.R.layout.simple_spinner_dropdown_item , 裡面放的就是一個TextView , 而自製的TextView題目也做好了存放在res/layout/myspinner_layout , 以下是程式碼。


package COM.TQC.GDD01;

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 GDD01 extends Activity
{
  private String[] types={"請選擇","HTC HERO","HTC MAGIC","HTC TATTOO",
      "NEXUS ONE","SONY X10","MOTO MILESTONE"};
  
  Spinner spinner; 
  TextView textView;
  
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    
    textView = (TextView) this.findViewById(R.id.text1);
    
    ArrayAdapter AB = new ArrayAdapter(this, android.R.layout.simple_spinner_item, types);
    AB.setDropDownViewResource(R.layout.myspinner_layout);
       
    spinner = (Spinner) this.findViewById(R.id.mySpinner);    
    spinner.setAdapter(AB);   
    spinner.setOnItemSelectedListener(SOnItemSelectedListener);    
  }
  
  public Spinner.OnItemSelectedListener SOnItemSelectedListener = new Spinner.OnItemSelectedListener()
  {
 @Override
 public void onItemSelected(AdapterView arg0, View arg1, int arg2,
   long arg3)
 {
  // TODO Auto-generated method stub
  if(arg2 == 0) textView.setText(getText(R.string.str1));
  
  else textView.setText(getText(R.string.str1)+types[arg2]);
 }

 @Override
 public void onNothingSelected(AdapterView arg0)
 {
  // TODO Auto-generated method stub  
 }   
  };  
}


main.xml

  
  


myspinner_layout.xml











P.S. 題目中所要求的Variable和Method皆會保留 , 也會根據題目所要求的流程去實作 , 縱使題目要求繞遠路....



沒有留言:

張貼留言

Google Analytics