Android StartActivityForResult示例含代碼

    Android StartActivityForResult示例

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

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

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

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

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

    Android StartActivityForResult示例

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

    activity_main.xml

    從面板中拖動一個TextView和一個Button,現(xiàn)在XML文件看起來像這樣。愛掏網(wǎng) - 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 文件是在創(chuàng)建另一個活動時自動創(chuàng)建的。愛掏網(wǎng) - it200.com **要創(chuàng)建新的活動,請右鍵單擊 src 內(nèi)的包 – > 新建 -> 其他 -> Android 活動。愛掏網(wǎng) - it200.com **

    現(xiàn)在從 palette 中拖動一個 editText、一個 textView 和一個 button,現(xiàn)在 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類

    現(xiàn)在讓我們編寫代碼來調(diào)用另一個活動并獲取該活動的結果。愛掏網(wǎng) - 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 類

    讓我們編寫顯示第二個活動布局文件內(nèi)容的代碼。愛掏網(wǎng) - 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;
        }
    }
    

    下載此安卓示例

    輸出:

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

    返回頂部

    主站蜘蛛池模板: 国产天堂在线一区二区三区| 无码人妻AⅤ一区二区三区水密桃| 99久久无码一区人妻a黑| 少妇激情一区二区三区视频| 国产成人午夜精品一区二区三区| 日韩电影一区二区三区| 亚洲一区二区三区不卡在线播放 | 中文字幕日韩一区二区三区不| 农村乱人伦一区二区| 日韩精品一区二区三区国语自制 | 亚洲丰满熟女一区二区v| 日本视频一区在线观看免费 | 国产亚洲综合一区柠檬导航 | 免费视频精品一区二区| 天堂资源中文最新版在线一区| 国产成人AV区一区二区三| 国产在线一区二区综合免费视频| 91成人爽a毛片一区二区| 一区国严二区亚洲三区| 人妻在线无码一区二区三区| 国产a∨精品一区二区三区不卡| 在线观看中文字幕一区| 精品亚洲AV无码一区二区三区| 亚洲一区影音先锋色资源| 无码人妻一区二区三区免费n鬼沢| 国产亚洲3p无码一区二区| 国模私拍一区二区三区| 亚洲国产精品乱码一区二区 | 日本一区二区三区在线观看| 久久久一区二区三区| 91精品国产一区二区三区左线| 亚洲一区二区三区四区视频| 无码人妻精品一区二区蜜桃网站| 日本一区二区三区爆乳| 日本免费电影一区| 国产一区二区三区在线观看精品| 国产一区二区三区高清在线观看| 一区二区三区国产精品 | 日韩一区在线视频| 福利一区福利二区| 中文字幕一区二区人妻性色|