導航:首頁 > 操作系統 > androidintent傳遞參數

androidintent傳遞參數

發布時間:2022-06-02 00:17:57

android intent傳遞參數問題

//Bundle bundle = new Bundle(); //這句是多餘的
Bundle bundle = this.getIntent().getExtras();
categorySelected = bundle.getString("category");
pcode = bundle.getString("pcode");

上面說的問題與你提的問題關系不大,感覺你的問題不太可能啊,請檢查傳入的時候:
bundle.putString("category", category);

請檢查傳入的時候category本來就是空指針。

❷ android編程中用intent傳值能傳一個變數到另一個activity嗎

Intent
intent=
new
Intent(當前activity.this,
要跳轉到的activity.class);
Bundle
bundle=new
Bundle();
bundle.putInt("a",
"值");//這你看你要傳什麼值,int--putInt("key","值");
intent.putExtras(bundle);//把這個值放到intent裡面
startActivity(intent);//跳轉
------------------------------------------
這里已經跳轉到另一個activity了
在oncreat里寫這樣的代碼
Intent
intent=new
Intent();
Bundle
b=new
bundle();
//比如這個是String或者int型的:
String
str=b.getString("key");
int
a=b.getInt("key");
----------------------------------------
這樣就完全ok了,好好加油吧,這條路還很長呢

❸ android 中如何使用intent通過傳遞變數傳遞數據

Intent intent =new Intent(AActivity.this,BActivity.class);
intent.putExtra("num1", num1) ;
intent.putExtra("num2", num2) ;
startActivity(intent) ;
另一個接受的是Activity是 :
String num1 =this.getIntent().getStringExtra("num1") ;
String num2 =this.getIntent().getStringExtra("num2") ;
基本就這樣

❹ android intent 傳數據問題,能否確定傳入的數據來自哪個activity

完全可以,只需要往intent裡面添加一個標識數據即可


//兩個activity

java">//第一個activity
{

privateButtonbtn;

@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn.setOnClickListener(newOnClickListener(){

@Override
publicvoidonClick(Viewv){
Intentintent=newIntent(OneActivity.this,EditActivity.class);
intent.putExtra("from",1);
startActivity(intent);
}
});
}
}

//第二個activity
{

privateButtonbtn;

@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn.setOnClickListener(newOnClickListener(){

@Override
publicvoidonClick(Viewv){
Intentintent=newIntent(OneActivity.this,EditActivity.class);
intent.putExtra("from",2);
startActivity(intent);
}
});
}
}


編輯activity,判斷intent傳進來的from數據,為1即為OneActivity,2為TwoActivity

{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intentintent=getIntent();
intfrom=intent.getIntExtra("from",0);
switch(from){
case1:
//OneActivity
break;
case2:
//TwoActivity
break;
//case.......
}
}
}

❺ android開發intent怎麼傳遞集合

1、Intent(意圖)主要是解決Android應用的各項組件之間的通訊。
2、為了實現傳遞數據這個目的需要以下步驟
3、Activity1需要構造一個 Intent,這個Intent用於告訴系統,我們要做「查看」動作
intent可調用putExtra來存放想要傳遞的數據
4、然後調用setClass,設置Activity1和欲調用的組件Activity2
5、最後調用startActivity將構造的Intent傳入,系統會根據此Intent中的描述,到Activity1中找到滿足此Intent要求的Activity,系統會調用找到的 Activity2最終傳入Intent在Activity2中可使用getIntent來獲取傳遞的Intent,並通過獲取數據的方法來獲取數據代碼示例:
Intent intent = new Intent(); // Activity1
intent.putExtra("one", num1);
intent.putExtra("two", num2);
intent.setClass(FirstActivity.this, SecondActivity.class);
startActivity(intent); Intent intent = getIntent(); //Activity2
String num1 = intent.getStringExtra("one");
String num2 = intent.getStringExtra("two");
int ret = Integer.parseInt(num1) + Integer.parseInt(num2);
result.setText(ret+"");
注意:在使用intent的時候可以使用bundle傳遞復制的數據類型。

❻ Android Intent 如何接收到指定的Intent傳遞過來的值呢

首先,盡量不要用try{}catch去捕捉能用判斷規避的異常,那樣會影響效率,每次出現異常,虛擬機要抓錯誤調用堆棧。所以,最好的方式是通過判斷去規避。
按你的思路,可以先判斷getIntent.getExtras()是否為null。
Intent
_getIntent
=
this.getIntent();
if(
_getIntent.getExtras()
!=
null){
Log.i("YuryLog","理論上只有點了確認鍵才執行");
receiveName
=
_getIntent.getExtras().getString("sendName");
receiveEatSomething
=
_getIntent.getExtras().getString("sendeatSomething");
receiveCopies
=
_getIntent.getExtras().getString("sendcopies");
......
要指出的是,上述代碼,最好使用getXXXExtra這類方法,它不會出現空指針(除了少數幾個,比方說getStringExtra)。
需要設定默認值的,在沒有值時它會返回默認值;沒有設置默認值的,在沒有值時會返回null,針對這類判空一下。
可以看下getBooleanExtra的源碼
public
boolean
getBooleanExtra(String
name,
boolean
defaultValue)
{
return
mExtras
==
null
?
defaultValue
:
mExtras.getBoolean(name,
defaultValue);
}
而getExtras()在沒有值時會返回null,看下源碼:
public
Bundle
getExtras()
{
return
(mExtras
!=
null)
?
new
Bundle(mExtras)
:
null;
}
所以,最好不要用getIntent().getExtras()這種方式,換用getIntent().getXXXExtras(),這樣針對有設置默認值的就不需要判空了。
activity之間傳值,是沒有機制可以確定哪個activity傳過來的。這是考慮到代碼的可擴展性,解耦。要確定哪個activity發過來,在intent創建那裡多傳個布爾值就行,比方說下面的代碼。
發送
intent.putExtra("fromXXActivity",
true);
接收
if
(getIntent().getBooleanExtra("fromXXActivity",
false))
{
......
//
這里,你就可以安全的接收那個activity發過來的所有值。
}

❼ intent傳值是如何傳的

1、函數或過程調用時可能要傳遞參數,參數的傳遞分為傳值和傳地址。
2、把變數的值傳遞給函數或過程,叫傳值;把變數的地址傳遞給函數或過程叫傳地址。
3、pascal的過程或函數中聲明的接收參數的方式決定了一個參數是傳值的,還是傳地址的;傳地址變數前會加VAR,傳值的不加。
4、例如:
PROCEDURE p(a:integer; VAR b:integer);
假設x和y都是integer型的調用p(x,y);時,x是傳值的,y是傳地址的。

❽ 如何在Android開發中activity之間數據傳遞

用intent在activity之間傳遞數據,需要注意三個方法:
1.startActivityForResult(Intent intent, int requestCode)
2.setResult(int resultCode, Intent data)
3.onActivityResult(int requestCode, int resultCode, Intent data)
需要注意的是:
1.函數1在Activity_A裡面調用,然後啟動Activity_B(由intent參數決定啟動哪個activity);然後Activity_B執行完了之後,在finish()函數裡面調用函數2;此時返回Activity_A;最後在Activity_A裡面系統自動調用已經重載的函數3,Activity_A可以從該函數的第三個參數data裡面獲得想要的數據。
2.函數1有兩個參數,第二個參數確定請求碼;
3.函數3有三個參數:第一個參數請求碼,與函數1的第二個參數意義相同,用於確定是否是從Activity_B里獲得的返回值;第二個參數是結果碼,用於確定返回的結果是否可用;第三個參數是intent變數,用於傳遞數據。

閱讀全文

與androidintent傳遞參數相關的資料

熱點內容
mdr軟體解壓和別人不一樣 瀏覽:884
單片機串列通信有什麼好處 瀏覽:320
游戲開發程序員書籍 瀏覽:843
pdf中圖片修改 瀏覽:269
匯編編譯後 瀏覽:474
php和java整合 瀏覽:829
js中執行php代碼 瀏覽:440
國產單片機廠商 瀏覽:57
蘋果手機怎麼設置不更新app軟體 瀏覽:284
轉行當程序員如何 瀏覽:492
蘋果id怎麼驗證app 瀏覽:864
查看手機命令 瀏覽:953
抖音反編譯地址 瀏覽:226
如何加密軟體oppoa5 瀏覽:233
java從入門到精通明日科技 瀏覽:96
拆解汽車解壓視頻 瀏覽:598
新版百度雲解壓縮 瀏覽:593
android上下拉刷新 瀏覽:880
centos可執行文件反編譯 瀏覽:839
林清玄pdf 瀏覽:271