Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Activity 通信之:傳入與返回信息

Activity 通信之:傳入與返回信息

編輯:關於Android編程

多Activity 需要建立多個java的class及相對應的xml
建立完成之後必須在manifest中注冊
<activity 
    android:name=".activity2" 
    android:label="@string/MSSSS" > 
</activity> 

普通String的傳入:
主調程序中:
(將名為將"Seed"以名為Name的String丟給被調用程序)
Button1.setOnClickListener(new View.OnClickListener(){ 
    public void onClick(View V){ 
        Intent intent = new Intent(MainActivity.this, activity2.class); 
        String name = "Seed"; 
        intent.putExtra("Name", name); 
        satrtActivity(intent); 
    } 
}); 

被調程序:
(獲取名為Name的String)
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity2); 
    Intent intent = this.getIntent(); 
    String message = intent.getStringExtra("Name"); 


傳遞對象類型

Activity回傳數據
1:把名為Name的String丟給被掉程序(用startActivityForResult)
Button1.setOnClickListener(new View.OnClickListener(){ 
    public void onClick(View V){ 
        Intent intent = new Intent(MainActivity.this, activity2.class); 
        String name = "Seed"; 
        intent.putExtra("Name", name); 
        startActivityForResult(intent, 1); 
    } 
}); 
2:在被調Activity中重寫finish來設置返回信息
(把名為rtString的String附帶在返回intent中,並且回傳標記為activity2Return)(用bundle攜帶)
@Override 
public void finish(){ 
    Intent intent = new Intent(); 
    Bundle b = new Bundle(); 
    b.putString("rtString","~~~~"); 
    intent.putExtras(b); 
    setResult(activity2Return, intent); 
    super.finish();  www.2cto.com

3:在主調程序中重載onActivityResult,獲得回傳的message
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data){ 
    switch(resultCode){ 
    case activity2Return: 
        Bundle b = data.getExtras(); 
        String returnMessage = b.getString("ac2"); 
    } 

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved