綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] 跨Activity傳送資料

[複製連結] 查看: 1041|回覆: 9|好評: 0
跳轉到指定樓層
樓主
meisyuan8069 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2012-9-26 11:07

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x

如何再第一個Activity按下按鈕後
在第二個Activity的TextView裡顯示出來
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
ploglin | 收聽TA | 只看該作者
發表於 2012-9-26 11:53
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
 樓主| meisyuan8069 | 收聽TA | 只看該作者
發表於 2012-9-26 14:55

我只要單純的按下按鈕後
傳送對應文字到下一頁

但是我找了很多參考資料都是傳送數值
那文字的部分是否也可以直接使用
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
ploglin | 收聽TA | 只看該作者
發表於 2012-9-26 15:05
文字是可以的,範例如下

  1. int a = 1;
  2. String b = "1";
  3. startActivity(new Intent(this, TargetActivity.class).putExtra("a",a).putExtra("b",b));
複製代碼

  1. // TargetActivity.java
  2. int a = getIntExtra("a", 0);
  3. String b = getStringExtra("b")
複製代碼
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
 樓主| meisyuan8069 | 收聽TA | 只看該作者
發表於 2012-9-26 15:41
ploglin 發表於 2012-9-26 15:05
文字是可以的,範例如下

無法直接傳送TextView裡的文字嗎?

因為我試了
但是按下去後都會顯示程式錯誤
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

6
ploglin | 收聽TA | 只看該作者
發表於 2012-9-26 17:08
TextView 的內容就是

  1. TextView tv1 = (TextView) findViewById(R.id.textView1);
  2. String b = tv.getText().toString();
  3. // 接下來的就請參考上個回覆
複製代碼
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

7
 樓主| meisyuan8069 | 收聽TA | 只看該作者
發表於 2012-9-27 11:35
謝謝
成功嘍可以從Activity1傳送到Activity2

那在請問一下如果我在Activity1有兩個按鈕
一個到Activity2 一個到Activity3
按下按鈕後到Activity2的然後資料回傳到Activity1
在按下到Activity3資料再回傳到Activity1

如果我用原本的方法他會告訴我錯誤
是不是還要再加什麼東西呢?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

8
ploglin | 收聽TA | 只看該作者
發表於 2012-9-27 11:38
你有看 LogCat 嗎?
先看看錯誤訊息,再想想是什麼問題。
如果看不懂,再放上來讓大家幫你看看
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

9
 樓主| meisyuan8069 | 收聽TA | 只看該作者
發表於 2012-9-28 14:04
ploglin 發表於 2012-9-27 11:38
你有看 LogCat 嗎?
先看看錯誤訊息,再想想是什麼問題。
如果看不懂,再放上來讓大家幫你看看 ...

那Activity1
無法一起讀取Activity2和Activity3的資料嗎

我試過用hasExtra但無法一起讀取
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

10
不知火羽 | 收聽TA | 只看該作者
發表於 2012-9-28 18:12
本帖最後由 不知火羽 於 2012-9-28 18:14 編輯
meisyuan8069 發表於 2012-9-28 14:04
那Activity1
無法一起讀取Activity2和Activity3的資料嗎


如果照你的說法是應該是可以辦得到
Activity1 ==(傳值)==>Activity2==(傳值)==>Activity1
Activity1 ==(傳值)==>Activity3==(傳值)==>Activity1
在這裡變成Activity1被開啟時,本身就會先接收Activity2.Activity3的值
1.所以用putExtra就要設定初始值 當Activity1被開啟時還沒從Activity2.Activity3取得資料時 否則會出現Null的錯誤。
2.當你從Activity1開啟Activity2或Activity3的時候沒有把前面傳給Activity1的資料記錄下來或是繼續送給下一個Activity的而關閉Activity1時候 有可能造成傳送前面送的資料遺失。
以上是我猜測的部分

其他的辦法是可以將Activity2.Activity3改成用Dialog這樣就不會有跨Activity傳值的問題
或者是將Activity2.Activity3傳的值暫時丟到Preference 不過就看個人需求

如果有程式錯誤
我猜最大的可能是傳值沒有傳正確或者是Null值造成的
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則