การเขียนคำสั่งภายใน Class Activity
โค้ด: เลือกทั้งหมด
Package four.me.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity
{
public void onCreate ( Bundle savedInstanceState )
{
super.onCreate ( savedInstanceState );
this.setContentView ( R.layout.activity_main );
Button btnChoice = ( Button ) this.findViewById ( R.id.choice );
btnChoice.setOnClickListener ( new View.OnClickListener ( )
{
public void onClick ( View v )
{
Intent intent = new Intent ( MainActivity.this, ChoiceActivity.class );
startActivityForResult ( intent, 999 );
}
}
);
}
protected void onActivityResult ( int requestCode, int resultCode, Intent intent )
{
super.onActivityResult ( requestCode, resultCode, intent );
if ( resultCode == RESULT_OK && requestCode == 999 )
{
String color = intent.getStringExtra ( "color" );
TextView label = ( TextView ) this.findViewById ( R.id.label );
label.setText ( color );
}
}
}
โค้ด: เลือกทั้งหมด
package four.me.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class ChoiceActivity extends Activity
{
public void onCreate ( Bundle savedInstanceState )
{
super.onCreate ( savedInstanceState );
this.setContentView ( R.layout.activity_choice );
Button btnBlack = ( Button ) this.findViewById ( R.id.black );
btnBlue.setOnClickListener ( new View.OnClickListener ( )
{
public void onClick ( View v )
{
Intent intent = new Intent ( );
intent.putExtra ( "color", "You select Black Color" );
setResult ( RESULT_OK, intent );
finish ( );
}
}
);
Button btnWhite = ( Button ) this.findViewById ( R.id.white );
btnWhite.setOnClickListener ( new View.OnClickListener ( )
{
public void onClick ( View v )
{
Intent intent = new Intent ( );
intent.putExtra ( "color", "You select White Color" );
setResult ( RESULT_OK, intent );
finish ( );
}
}
);
}
}
ส่วน Class ChoiceActivity คำสั่ง setResult ( RESULT_OK, intent ); เป็นการส่งค่า resultCode กลับไปยัง Activity ที่ได้สั่งให้ทำงาน
การเขียนคำสั่งภายในไฟล์ XML Layout
โค้ด: เลือกทั้งหมด
<!-- activity_main.xml -->
<?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">
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text=”Please Select Color" />
<Button
android:id="@+id/choice"
android:layout_below="@id/label"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Select Color" />
</RelativeLayout>
โค้ด: เลือกทั้งหมด
<!-- activity_choice.xml -->
<?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">
<Button
android:id="@+id/blue"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Blue" />
<Button
android:id="@+id/white "
android:layout_below="@id/blue"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="White" />
</RelativeLayout>
element <Button> มี id คือ black และ element <Button> มี id คือ white ซึ่ง id เหล่านี้ถูกใช้อ้างอิงใน Class ChoiceActivity
การประกาศ Activity ไว้ภายในไฟล์ AndroidManifest.xml
โค้ด: เลือกทั้งหมด
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application ... >
<activity android:name="four.me.activity.MainActivity" ... >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="four.me.activity.ChoiceActivity" ... />
</application>
</manifest>
หน้าจอแสดงผลของ การสั่งให้ Activity อื่นทำงาน เพื่อนำผลลัพธ์มาใช้
แสดงหน้าจอของ MainActivity
แสดงหน้าจอของ ChoiceActivity เมื่อได้ Click ที่ปุ่ม "Select Color" จากหน้าจอของ MainActivity
แสดงหน้าจอของ MainActivity อีกครั้ง หลังจากที่ได้เลือก Color จากหน้าจอ ChoiceActivity แล้ว ซึ่งสังเกตได้ว่า ข้อความได้เปลี่ยนไป
อ้างอิง : http://www.softmelt.com/article.php?id=116