ตัวอย่างการคืนค่า 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 );
  •  
  • int selectedItemPosition = spinner.getSelectedItemPosition ( );
  •  
  •  
  • TextView item = ( TextView ) spinner.getChildAt ( selectedItemPosition );
  •  
  • String label = item.getText ( ).toString ( );
  •  
  •  
  • Toast toast = Toast.makeText ( MainActivity.this, "Selected " + label, Toast.LENGTH_LONG );
  •  
  • toast.show ( );
  • }
  • }
  • );
  • }
  • }

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า คำสั่ง Spinner spinner = ( Spinner ) MainActivity.this.findViewById ( R.id.spinner ); ในบรรทัดที่ 26 เป็นการสร้าง Object Spinner โดยการไปค้นหามาจาก XML Layout และคำสั่ง TextView item = ( TextView ) spinner.getChildAt ( selectedItemPosition ); ในบรรทัดที่ 31 เป็นการคืนค่า 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