在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Android/ Inject Extra
Just-in-time Bindings
Binding Annotations
Standard Injection
第一個例子 Hello World
Bindings 概述
Linked Bindings
如何綁定 generic 類型
@Provides Methods
RoboGuice 功能描述
概述
綜合示例 Astroboy
Inject Resources
Instance Bindings
Inject 自定義 View
Scopes
Provider Bindings
Untargetted Bindings
Inject Extra
第一個例子 Hello World
Inject Context
發(fā)送接收 Events
Inject View

Inject Extra

使用 Intent 啟動一個 Activity,Service 等時,可以通過 putExtra 傳送數(shù)據(jù),被觸發(fā)的 Activity,Service 可以使用 getIntent() 的 getExtras 取的 Extra 的 Bundle ,然后再根據(jù) Extra 的鍵值 (Key) 取的對應(yīng)的參數(shù)值。

RoboGuice 提供了一個簡潔的方法來取得 這些 Extra 值,通過 @InjectExtra 標記。

本例使用兩個 Activity,InjectExtraDemo 用來觸發(fā)InjectExtraReceiver,在 InjectExtraDemo 中創(chuàng)建 Intent 時,通過 putExtra 放置兩個參數(shù) Extra1,Extra2.

public class InjectExtraDemo extends RoboActivity {

 @InjectView (R.id.button) Button button;
 @Inject Context context;

 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.injectextra);
 button.setOnClickListener(mGoListener);
 }

 private OnClickListener mGoListener = new OnClickListener()
 {
 public void onClick(View v)
 {
 Intent di = new Intent();
 di.setClass(context, InjectExtraReceiver.class) ;
 di.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
 | Intent.FLAG_ACTIVITY_SINGLE_TOP);
 di.putExtra("Extra1","Message1");
 di.putExtra("Extra2","Message2");
 context.startActivity(di);
 }
 };

}

在 InjectExtraReceiver 通過 @InjectExtra 標記 ,Roboguice 自動為這些變量注入由 Intent 傳入的值,Optional=true 表示該 Extra 為可選,如果傳入的 Intent 不含這個 Extra 時,值為 null.

public class InjectExtraReceiver extends RoboActivity{

 @InjectView (R.id.textview) TextView textView;
 @InjectExtra ("Extra1" ) String extra1;
 @InjectExtra ("Extra2" ) String extra2;
 @InjectExtra (value="Extra3" , optional=true) String extra3;

 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);

 setContentView(R.layout.injectextrareceiver);

 textView.setText("Extra1:"+extra1
 +"\r\nExtra2:"+extra2
 +"\r\nExtra3:"+extra3);

 }

}

http://wiki.jikexueyuan.com/project/android-roboguice/images/18.png" alt="" />