ตัวอย่างการคืนค่า View ที่ถูกเลือกอยู่ใน Spinner : Android
 

Tutorial :: Android :: ตัวอย่างการใช้งาน :: ตัวอย่างการคืนค่า View ที่ถูกเลือกอยู่ใน Spinner

ในบทความนี้ จะแสดงให้เห็นถึงตัวอย่างการคืนค่า View ที่ถูกเลือกอยู่ใน Spinner โดยจะแสดงให้เห็นถึงการเขียนคำสั่งภายใน Class Activity, การเขียนคำสั่งภายในไฟล์ XML Layout, การเขียนคำสั่งภายในไฟล์ XML Strings, และการประกาศ Activity ไว้ภายในไฟล์ AndroidManifest.xml ดังนี้


การเขียนคำสั่งภายใน Class Activity

  • package nutt.me.activity;
  •  
  • import android.app.Activity;
  • import android.os.Bundle;
  • import android.view.View;
  • import android.widget.Button;
  • import android.widget.Spinner;
  • import android.widget.TextView;
  • import android.widget.Toast;
  •  
  • public class MainActivity extends Activity
  • {
  • public void onCreate ( Bundle savedInstanceState )
  • {
  • super.onCreate ( savedInstanceState );
  •  
  • this.setContentView ( R.layout.activity_main );
  •  
  •  
  • Button button = ( Button ) this.findViewById ( R.id.button );
  •  
  • button.setOnClickListener ( new View.OnClickListener ( )
  • {
  • public void onClick ( View v )
  • {
  • Spinner spinner = ( Spinner ) MainActivity.this.findViewById ( R.id.spinner );
  •  
  • TextView selectedView = ( TextView ) spinner.getSelectedView ( );
  •  
  • String selectedText = selectedView.getText ( ).toString ( );
  •  
  •  
  • Toast toast = Toast.makeText ( MainActivity.this, "Selected " + selectedText, Toast.LENGTH_LONG );
  •  
  • toast.show ( );
  • }
  • }
  • );
  • }
  • }

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า คำสั่ง Spinner spinner = ( Spinner ) MainActivity.this.findViewById ( R.id.spinner ); ในบรรทัดที่ 26 เป็นการสร้าง Object Spinner โดยการไปค้นหามาจาก XML Layout และคำสั่ง TextView selectedView = ( TextView ) spinner.getSelectedView ( ); ในบรรทัดที่ 28 เป็นการคืนค่า View ที่ถูกเลือกอยู่ใน Spinner แล้วนำมาเก็บไว้ที่ตัวแปรประเภท TextView


การเขียนคำสั่งภายในไฟล์ XML Layout

  • <?xml version="1.0" encoding="utf-8"?>
  • <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  • android:layout_width="fill_parent"
  • android:layout_height="fill_parent">
  •  
  • <Spinner
  • android:id="@+id/spinner"
  • android:layout_width="fill_parent"
  • android:layout_height="wrap_content"
  • android:layout_centerHorizontal="true"
  • android:layout_centerVertical="true"
  • android:entries="@array/spinner_list" />
  •  
  • <Button
  • android:id="@+id/button"
  • android:layout_below="@id/spinner"
  • android:layout_marginTop="10dp"
  • android:layout_width="wrap_content"
  • android:layout_height="wrap_content"
  • android:layout_centerHorizontal="true"
  • android:layout_centerVertical="true"
  • android:text="Show Selected Label" />
  •  
  • </RelativeLayout>

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า element <Spinner> มี id คือ spinner (ประกาศไว้ในบรรทัดที่ 7) และ element <Button> มี id คือ button (ประกาศไว้ในบรรทัดที่ 15) ซึ่ง id เหล่านี้ถูกใช้อ้างอิงใน Class Activity ข้างต้น และค่าข้อมูลของ attribute android:entries ของ element <Spinner> (ประกาศไว้ในบรรทัดที่ 12) ได้อ้างอิงไปยังตัวแปร spinner_list ในไฟล์ strings.xml และจัดเก็บไว้ใน Resource Folder ชื่อ "res/values"


การเขียนคำสั่งภายในไฟล์ XML Strings

  • <?xml version="1.0" encoding="utf-8"?>
  • <resources>
  •  
  • <string name="app_name">Spinner</string>
  •  
  • <string-array name="spinner_list">
  • <item>Blue</item>
  • <item>Green</item>
  • <item>Brown</item>
  • </string-array>
  •  
  • </resources>

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า ให้ตั้งชื่อไฟล์คือ strings.xml และจัดเก็บไว้ใน Resource Folder ชื่อ "res/values"


การประกาศ Activity ไว้ภายในไฟล์ AndroidManifest.xml

  • <?xml version="1.0" encoding="utf-8"?>
  • <manifest ... >
  • <application ... >
  • <activity android:name="nutt.me.activity.MainActivity" ... >
  • <intent-filter>
  • <action android:name="android.intent.action.MAIN" />
  • <category android:name="android.intent.category.LAUNCHER" />
  • </intent-filter>
  • </activity>
  • </application>
  • </manifest>

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า มีการประกาศ Activity ชื่อ MainActivity ที่อยู่ใน Package nutt.me.activity ไว้ภายในไฟล์ AndroidManifest.xml ในบรรทัดที่ 4


หน้าจอแสดงผลของ ตัวอย่างการคืนค่า View ที่ถูกเลือกอยู่ใน Spinner จากการเขียนคำสั่งข้างต้น

หน้าจอแสดงผลของ ตัวอย่างการคืนค่า View ที่ถูกเลือกอยู่ใน Spinner

จากรูปแสดงหน้าจอของ MainActivity

หน้าจอแสดงผลของ ตัวอย่างการคืนค่า View ที่ถูกเลือกอยู่ใน Spinner

จากรูปแสดงหน้าจอของ MainActivity เมื่อได้เลือก Item "Blue" ที่ Spinner แล้วได้คลิกที่ปุ่ม "Show Selected Label"

หน้าจอแสดงผลของ ตัวอย่างการคืนค่า View ที่ถูกเลือกอยู่ใน Spinner

จากรูปแสดงหน้าจอของ MainActivity เมื่อได้เลือก Item "Green" ที่ Spinner แล้วได้คลิกที่ปุ่ม "Show Selected Label"

Download This Example

0 Comment

  • Have no comment.

Comment Tutorial

 
 
 
 
Share This Topic Login with Facebook