Android StartActivityForResult示例含代碼

Android StartActivityForResult示例

通過android startActivityForResult()方法,我們可以從另一個活動中獲取結果。愛掏網 - it200.com

通過android startActivityForResult()方法,我們可以在一個活動中向另一個活動發送信息,反之亦然。愛掏網 - it200.comandroid startActivityForResult 方法需要從第二個活動(要調用的活動)獲得結果。愛掏網 - it200.com

在這種情況下,我們需要重寫 onActivityResult 方法,該方法在第二個活動返回結果時自動調用。愛掏網 - it200.com

startActivityForResult()方法有兩種變體。愛掏網 - it200.com

public void startActivityForResult (Intent intent, int requestCode)
public void startActivityForResult (Intent intent, int requestCode, Bundle options)

Android StartActivityForResult示例

讓我們來看一下Android startActivityForResult方法的簡單示例。愛掏網 - it200.com

activity_main.xml

從面板中拖動一個TextView和一個Button,現在XML文件看起來像這樣。愛掏網 - it200.com

<RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/button1"
        android:layout_alignParentTop="true"
        android:layout_marginTop="48dp"
        android:text="Default Message" />
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="42dp"
        android:text="GetMessage" />
</RelativeLayout>

second_main.xml

這個 xml 文件是在創建另一個活動時自動創建的。愛掏網 - it200.com **要創建新的活動,請右鍵單擊 src 內的包 – > 新建 -> 其他 -> Android 活動。愛掏網 - it200.com **

現在從 palette 中拖動一個 editText、一個 textView 和一個 button,現在 xml 文件將變成這樣:

<RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".SecondActivity" >
    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginTop="61dp"
        android:layout_toRightOf="@+id/textView1"
        android:ems="10" />
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/editText1"
        android:layout_alignBottom="@+id/editText1"
        android:layout_alignParentLeft="true"
        android:text="Enter Message:" />
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/editText1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="34dp"
        android:text="Submit" />
</RelativeLayout>

Activity類

現在讓我們編寫代碼來調用另一個活動并獲取該活動的結果。愛掏網 - it200.com

package com.javatpoint.startactivityforresult;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
    TextView textView1;
    Button button1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView1=(TextView)findViewById(R.id.textView1);
        button1=(Button)findViewById(R.id.button1);
        button1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                Intent intent=new Intent(MainActivity.this,SecondActivity.class);
                startActivityForResult(intent, 2);// Activity is started with requestCode 2
            }
        });
    }
 // Call Back method  to get the Message form other Activity
    @Override
       protected void onActivityResult(int requestCode, int resultCode, Intent data)
       {
                 super.onActivityResult(requestCode, resultCode, data);
                  // check if the request code is same as what is passed  here it is 2
                   if(requestCode==2)
                         {
                            String message=data.getStringExtra("MESSAGE"); 
                            textView1.setText(message);
                         }
     }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}

SecondActivity 類

讓我們編寫顯示第二個活動布局文件內容的代碼。愛掏網 - it200.com

package com.javatpoint.startactivityforresult;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class SecondActivity extends Activity {
    EditText editText1;
    Button button1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        editText1=(EditText)findViewById(R.id.editText1);
            button1=(Button)findViewById(R.id.button1);
            button1.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View arg0) {
                    String message=editText1.getText().toString();
                    Intent intent=new Intent();
                    intent.putExtra("MESSAGE",message);
                    setResult(2,intent);
                    finish();//finishing activity
                }
            });
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.second, menu);
        return true;
    }
}

下載此安卓示例

輸出:

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 精品久久久久国产免费| 最近中文字幕版2019| 亚洲日产韩国一二三四区| 日本卡一卡2卡三卡4卡无卡| 久久18禁高潮出水呻吟娇喘| 国产精品.XX视频.XXTV| 91精品国产人成网站| 分分操这里只有精品| 强行被公侵犯奈奈美| 美女视频黄频a免费观看| 久久久亚洲欧洲日产国码aⅴ| 国产成人小视频| 日韩一区二区三区免费体验| 国产在线乱子伦一区二区| 91精品福利视频| 久久99久久99精品免观看| 人妻人人澡人人添人人爽人人玩| 成人毛片手机版免费看| 欧美视频日韩视频| 菠萝蜜视频在线看| 99re最新地址精品视频| 久久精品久久精品| 免费人成再在线观看网站| 国产成人精品午夜二三区| 日韩日韩日韩日韩日韩| 特级西西人体444WWw高清大胆| 韩国大尺度床戏未删减版在线播放| www.色五月| 久久久久亚洲av成人无码| 亚洲精品欧美综合| 国产AV无码专区亚洲AV| 国产精品igao视频网网址| 天天影视综合网| 日韩一区二区三区免费视频| 污黄视频在线看| 调教奴性同桌h| 91在线国内在线播放老师| 免费网站看v片在线成人国产系列| 国产精品66在线观看| 成人乱码一区二区三区AV| 最近中文字幕国语免费完整|