作者tails32100 (Tails)
看板AndroidDev
標題Re: [問題] a.class傳值給b.class下的fragment
時間Sun May 18 16:02:39 2014
※ 引述《asifsea (sea)》之銘言:
: 我有爬文過,有類似的問題,但是我不懂具體的寫法為何?
: 問題如下:
: 我要如何從a.java傳值給b.class(TabHost)的分頁
: b.class是用TabHost繼承FragmentActivity 分頁是繼承Fragment
: 在a.java我是用以下方式傳值
: Intent intent = new Intent();
: intent.setClass(a.this, b.class);
: intent.putExtra("name", "王小明");
: startActivity(intent);
: 請問有些方式可以傳的嗎? 謝謝
我是有點看不大懂問題,就以我理解的方式來回答吧...
1. A 要傳給 B 的 Fragment 前, A 必須先傳值給 B 後,打開 B
2. B 才能傳值給 Fragment
3. 最後 Fragment 裡取得並處理
第 1 步的實作:
// in A.java
Intent intent = new Intent();
intent.setClass(A.this, B.class);
intent.putExtra("name", "王小明");
startActivity(intent);
第 2 步的實作:
// in B.java
String string = getIntent().getStringExtra("name");
Fragment f = new MyFragment();
Bundle bundle = new Bundle();
bundle.putString("name", String);
f.setArguments(bundle);
第 3 步的實作:
// in MyFragment.java
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String string = getArguments().getString("name");
// string = "王小明"
}
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.126.68.4
※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1400400161.A.8CF.html
→ asifsea:謝謝你的回答,但有出錯,請問要如何看log檔? 05/19 00:01
→ issuemylove:將error丟到google上 大部分都可以知道問題 05/19 13:18