零基礎Android學習筆記-03 窗口間的數據傳遞

1.經過全局變量來傳遞。android

新建一個全局的類繼承於Applicationapp

package com.example.helloworld;

import android.app.Application;

public class MyApp extends Application {
    public String passData;

    public String getPassData() {
        return passData;
    }

    public void setPassData(String passData) {
        this.passData = passData;
    }

    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();
        setPassData("default");
    }
}
View Code

在首次展示的窗口中設置全局變量值。ide

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.i(TAG, "onCreate被執行了.");
        button = (Button) this.findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                myapp = (MyApp) getApplication();
                myapp.setPassData("全局變量");
                Intent intent = new Intent(MainActivity.this,
                        OtherActivity.class);
                startActivity(intent);
            }
        });
    }
View Code

新建個窗體來接受全局變量值。this

public class OtherActivity extends Activity {
    private MyApp myapp;
    private TextView textview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.other);
        myapp=(MyApp)getApplication();
        String data=myapp.getPassData();
        textview=(TextView)this.findViewById(R.id.msg);
        textview.setText(data);
    }
}
View Code

而後在AndroidManifest.xml中配置下新的窗口,和全局變量名稱spa

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.helloworld"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:name="com.example.helloworld.MyApp"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.helloworld.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>
View Code

OK,能夠順利傳遞全局變量數據。3d

2.經過剪切板來傳遞數據。code

相關文章
相關標籤/搜索