[android] 在不同的activity之間傳遞數據


新建一個activity,繼承Activity

清單文件中進行配置,添加<activity/>節點

設置名稱 android:name=”.類名” 點 代表的是當前包名,也可以不寫

 

新建一個布局文件,線性布局,豎直排列

添加<TextView/>控件,設置控件內容水平居中,android:gravity=”center_horizontal”

添加一個<Button/>控件,我想讓他占據剩余空間的中央,添加一個<RelativeLayout/>的布局,

<Button/>設置在父控件的中央center_inParent

 

第一個界面里面:

獲取到EditText對象的值

獲取Intent對象,調用new出來,通過簡便方式直接指定,參數:上下文,類字節碼

調用Intent對象的putExtra(key,val)方法,傳遞數據,參數:鍵值對

調用startActivity(intent)方法,開啟

 

第二個界面里面:

獲取Intent對象,調用getIntent()方法,獲取到傳遞過來的Intent對象

調用Intent對象的getStringExtra(name)方法,獲取傳遞的String,參數:鍵

獲取Random對象,new出來隨機數對象

調用Random對象的nextInt(n),獲取隨機值,參數:int類型的最大值,0開始要減一

顯示進度條,布局文件增加<ProgressBar/>,設置最大值android:max=”100”,代碼中獲取到這個ProgressBar對象,調用對象的setProgress(p)方法,參數:上面的隨機值

 

也可以傳遞對象,但是這個對象必須序列化

 第一個activity:

package com.tsh.testrp;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends Activity {
    private EditText et_name;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_name=(EditText) findViewById(R.id.et_name);
    }
    //測試
    public void click(View v){
        String name=et_name.getText().toString().trim();
        
        Intent intent=new Intent(this,ResultActivity.class);
        intent.putExtra("name", name);
        startActivity(intent);
    }
}

第二個activity:

package com.tsh.testrp;

import java.util.Random;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ProgressBar;
import android.widget.TextView;

public class ResultActivity extends Activity {
    private TextView tv_name;
    private ProgressBar pb;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);
        //獲取展示數據
        tv_name=(TextView) findViewById(R.id.tv_name);
        pb=(ProgressBar) findViewById(R.id.pb_result);
        Intent intent=getIntent();
        String name=intent.getStringExtra("name");
        Random random=new Random();
        int rp=random.nextInt(101);
        tv_name.setText(name+":您的人品值是"+rp);
        pb.setProgress(rp);
        
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM