中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中使用Intent實現界面跳轉

發布時間:2020-04-28 18:14:21 來源:網絡 閱讀:1802 作者:呆頭陳 欄目:移動開發

Intent 信使、意圖

由Intent來協助Android各個組件之間跳轉

1、


startActivity(intent)

包下新建一個類,FActivity.class

public class FActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.factivity);
    }
}

新建一個XML文件factivity.xml

<Button
    android:id="@+id/bt1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="First"/>
<Button
    android:id="@+id/bt2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Second"/>
<TextView
    android:id="@+id/text1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    android:layout_gravity="center"
    />

同樣在創建第二對class和xml。

在AndroidManiFest中注冊兩個新類,并將默認啟動類放在最前:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.bcp.layouttest">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".FActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name=".SActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


添加按鈕事件:

public class FActivity extends AppCompatActivity {
    private Button bt_first;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.factivity);
        /***
         * 點擊第一個按鈕實現跳轉頁面
         */

        bt_first= (Button) findViewById(R.id.bt1);
        bt_first.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                
                Intent intent=new Intent();
                //第一個:上下文對象
                //第二個:目標文件
                intent.setClass (FActivity.this,SActivity.class);
                startActivity(intent);
            }
        });
    }
}


2、

startActivityForResult(intent,requestCode);

onActivityResult(int requestCode,int resultCode,Intent data)

setResult(resultCode,data);


查看代碼:

FActivity.java

public class FActivity extends AppCompatActivity {
    private Button bt_first;
    private Button bt_second;
    private TextView tv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.factivity);
        /***
         * 點擊第一個按鈕實現跳轉頁面
         */

        bt_first= (Button) findViewById(R.id.bt1);
        bt_first.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent=new Intent();
                intent.setClass (FActivity.this,SActivity.class);
                startActivity(intent);
            }
        });

        /***
         * 通過startActivityForresult實現
         */
        bt_second= (Button) findViewById(R.id.bt2);
        bt_second.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent=new Intent().setClass(FActivity.this,SActivity.class);
                /***
                 * 第二個參數是請求的標示
                 */

                startActivityForResult(intent,1);
            }
        });

        tv= (TextView) findViewById(R.id.text1);
    }

    /***
     * 通過startActivityForresult實現,接收返回數據的方法
     * 一、請求的標示
     * 二、第二個頁面返回的標示
     * 三、第二個頁面傳回的數據
     */
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        //判斷是否滿足條件來進行回傳數據
        if(requestCode==1&&resultCode==2){
            String content=data.getStringExtra("intent");
            tv.setText(content);
        }
    }
}


SActivity.java

public class SActivity extends AppCompatActivity{
    private Button bt;
    private String content="Hello~!";
    @Override
    protected void onCreate( Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sactivity);

        /***
         * 第二個頁面給第一個頁面回傳數據
         * 回傳給第一個頁面的實際上是一個intent對象
         */
        bt= (Button) findViewById(R.id.bt3);
        bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent=new Intent();
                //創建回傳對象
                intent.putExtra("intent",content);
                setResult(2,intent);

                //結束當前頁面
                finish();
            }
        });


    }
}




App的簽名和打包:

1、為了保證每個應用開發者的合法。

2、防止別人通過相同的Package Name來混淆替換已經安裝的程序,從而出現一些惡意篡改

3、保證我們每次發布的版本的一致性(如自動更新不會因為版本不一樣而無法安裝)




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沙湾县| 九龙县| 彝良县| 临猗县| 蚌埠市| 临湘市| 连城县| 永安市| 兖州市| 拉萨市| 宿迁市| 盱眙县| 田林县| 庆安县| 泾阳县| 云和县| 关岭| 祁门县| 紫阳县| 泰州市| 宝兴县| 台安县| 大竹县| 合阳县| 沈阳市| 晋城| 运城市| 武平县| 厦门市| 丽水市| 辽阳市| 临汾市| 宁夏| 湘西| 仲巴县| 惠来县| 淮南市| 隆林| 浠水县| 将乐县| 山丹县|