真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

AndroidActivity之間信息的傳遞

    在Android中,活動(dòng)是一個(gè)界面,當(dāng)需要在界面之間相互切換的時(shí)候,需要用到Intent(意圖)進(jìn)行消息傳遞。使用startActivity(Intent)函數(shù)啟動(dòng)另一個(gè)活動(dòng)。

創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)夏邑,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):028-86922220

    Bundle是一個(gè)key-Value類,可以用他攜帶信息。

    Bundle.putString("key","String")方法和Bundle.getString("key")方法放入與取出信息。

    可以將信息放入到Intent中,使用方法Intent.putExtras(bundle)方法和Intent.getExtras();方法將信息放入和取出。

示例工程:兩個(gè).java,MainActivity,java中輸入字符串,點(diǎn)擊按鍵,啟動(dòng)NewActivity,java,并將字符串顯示出來(lái)。

詳細(xì)代碼如下:

    MainActivity.java:

import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.os.Build;
public class MainActivity extends Activity {
    EditText edittext;
    TextView textview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button botton1=(Button)this.findViewById(R.id.btn1);
        edittext=(EditText)this.findViewById(R.id.edit);
        textview=(TextView)this.findViewById(R.id.mytext1);
        botton1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent intent=new Intent(MainActivity.this,NewActivity.class);
                Bundle bundle=new Bundle();
                bundle.putString("name", edittext.getText().toString());
                intent.putExtras(bundle);
                startActivity(intent);
            }
        });
    }
}

NewActivity.java:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class NewActivity extends Activity {
    TextView textview;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_new);
        Button botton1=(Button)this.findViewById(R.id.btn2);
        textview=(TextView)this.findViewById(R.id.mytext3);
        Intent intent=getIntent();
        Bundle bundle=intent.getExtras();
        textview.setText(bundle.getString("name"));
        botton1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                startActivity(new Intent(NewActivity.this,MainActivity.class));
            }
        });
    }
}

activity_main:



    
    
        

activity_new:



    
    
    

效果如下:

Android Activity之間信息的傳遞  Android Activity之間信息的傳遞 

              

                            啟動(dòng)Activity并返回結(jié)果

    有時(shí)候我們學(xué)院?jiǎn)?dòng)一個(gè)Activity并返回其結(jié)果,這是我們應(yīng)該使用方法:

startActivityForResult(Intent intent,int requestCode);

    通過(guò)重寫onActivityResult()對(duì)返回的參數(shù)進(jìn)行處理,函數(shù)原型為:

protected void onActivityResult(int requestCode,int resultCode,Intent data)    //    請(qǐng)求碼與結(jié)果碼

    使用函數(shù)NewActivity.this.setResult(0,intent)和NewActivity.this.finish()設(shè)置返回參數(shù)

以上一個(gè)工程為基礎(chǔ),添加代碼。使NewActivity.java中按鍵返回字符串,然后在MainActivity中把該字符串顯示出來(lái)。

代碼如下:

MainActivity

public class MainActivity extends Activity {
    EditText edittext;
    TextView textview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button botton1=(Button)this.findViewById(R.id.btn1);
        edittext=(EditText)this.findViewById(R.id.edit);
        textview=(TextView)this.findViewById(R.id.mytext1);
        botton1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent intent=new Intent(MainActivity.this,NewActivity.class);
                Bundle bundle=new Bundle();
                bundle.putString("name", edittext.getText().toString());
                intent.putExtras(bundle);
                startActivityForResult(intent,0);
            }
        });
    }
    protected void onActivityResult(int requestCode,int resultCode,Intent data) {
        Bundle bundle=data.getExtras();
        textview.setText(bundle.getString("name"));
    }
}

NewActivity:

public class NewActivity extends Activity {
    private TextView textview;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_new);
        Button botton1=(Button)this.findViewById(R.id.btn2);
        textview=(TextView)this.findViewById(R.id.mytext3);
        Intent intent=getIntent();
        Bundle bundle=intent.getExtras();
        textview.setText(bundle.getString("name"));
        botton1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent intent=new Intent();
                Bundle bundle=new Bundle();
                bundle.putString("name", "I'm from New");
                intent.putExtras(bundle);
                NewActivity.this.setResult(0,intent);
                NewActivity.this.finish();
            }
        });
    }
}

效果如下:

Android Activity之間信息的傳遞Android Activity之間信息的傳遞

Android Activity之間信息的傳遞

                                請(qǐng)求碼與結(jié)果碼

    請(qǐng)求碼:當(dāng)不同業(yè)務(wù)打開(kāi)同一個(gè)Activity時(shí),用請(qǐng)求碼判斷是那個(gè)業(yè)務(wù)發(fā)出的打開(kāi)請(qǐng)求。

例如當(dāng)一個(gè)MainActivity中兩個(gè)button都打開(kāi)Activity1時(shí),可以設(shè)置不同的請(qǐng)求碼,然后在Activity1中可根據(jù)不同請(qǐng)求碼判斷是button1還是button2打開(kāi)的Activity1。

    結(jié)果碼:當(dāng)同一個(gè)業(yè)務(wù)打開(kāi)多個(gè)Activity時(shí),用結(jié)果碼判斷是那個(gè)Activity返回的參數(shù)。

例如當(dāng)MainActivity中button同時(shí)打開(kāi)Activity1,Activity2,Activity3,可以在三個(gè)Activity中設(shè)置不同的結(jié)果碼,然后在MainActivity中的方法onActivityResult中根據(jù)結(jié)果碼判斷次結(jié)果是那個(gè)Activity返回的。


本文題目:AndroidActivity之間信息的傳遞
轉(zhuǎn)載來(lái)于:http://weahome.cn/article/jsocho.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部