作者asifsea (sea)
看板AndroidDev
標題[問題]listview項目Intent 顯示在viewpager裡
時間Fri Apr 11 00:49:35 2014
真的很不好意思,最近一直發問...請多包涵!
因為解決了前個問題,後面又會有新問題><
------------------------------------------------------------
我在listview項目建立intent傳送診所簡介
intent.setClass(Second.this, pager.class);
intent.putExtra("name", "xx診所");
intent.putExtra("time", "上午09:00");
......以此類推
在另一個接收的 pager.class的profile.xml
佈置了
名稱:(接收值)
時間:(接收值)
name = (TextView) findViewById(R.id.cname);
String cname = getIntent().getStringExtra("name");
name.setText(cname);
到這都可以正常顯示出來簡介內容。
-------------------------------------------------------------
但是我又想加入viewpager有滑動效果,讓簡介和地圖可互相滑動切換
所以我把viewpager效果一起加進pager.java裡
佈置是有另外的viewpager.xml
為了讓他可以顯示viewpager效果
所以主畫面是這樣setContentView(R.layout.viewpager);
再另外加入不同的layout
listViews.add(mInflater.inflate(R.layout.profile, null)); 簡介
listViews.add(mInflater.inflate(R.layout.lay2, null)); 地圖
可是這樣就發生了接收值,並沒有辦法顯示的問題
如圖:
http://ppt.cc/qAm1
我是猜測可能是沒有用profile.xml的關係
但如果同時要用兩個layout的話
我有參考範例用LayoutInflater myInflater
public View getView(int position, View convertView, ViewGroup parent) {
convertView = myInflater.inflate(R.layout.profile, null);
convertView = myInflater.inflate(R.layout.profile, null);
name = (TextView) convertView.findViewById(R.id.cname);
String ctime = getIntent().getStringExtra("time");
name.setText(cname);
return convertView;
}
如上面所示...但結果還是顯示不出來,請問一下我該如何解決?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.174.237.153
※ 文章網址: http://webptt.com/m.aspx?n=bbs/AndroidDev/M.1397148578.A.BF9.html
1F:→ laiair:listViews.add(view); 04/11 01:02
2F:→ laiair:如果按造原Po的寫法 04/11 01:03
3F:→ laiair:listViews.add(mInflater.inflate(R.layout.profile, null) 04/11 01:03
4F:→ laiair:這樣加入的是沒有資料的layout檔 04/11 01:04
5F:→ laiair:然後..原Po是否把 viewPager.add 寫成 listViews.add了? 04/11 01:07
6F:→ laiair:先處理好 簡介和地圖 這兩個 Layout 並存成 view 04/11 01:11
7F:→ laiair:再丟進viewpager 應該就可以了 :P 04/11 01:12
他這裡的listViews是為了配合tab列表的
完整是:
private List<View> listViews; // Tab列表
listViews = new ArrayList<View>();
LayoutInflater mInflater = getLayoutInflater();
listViews.add(mInflater.inflate(R.layout.profile, null));
listViews.add(mInflater.inflate(R.layout.lay2, null));
不是前一個listview的listview,兩個無關係。
請問要如何把兩個layout並存成view,地圖可先不看,目前是簡介無法顯示的問題
※ 編輯: asifsea (1.174.204.188), 04/11/2014 02:43:40
8F:→ laiair:View viewProfile; 04/11 08:42
9F:→ laiair:viewProfile=mInflater.inflate(R.layout.profile, null); 04/11 08:43
10F:→ laiair:name = (TextView) viewProfile.findViewById(R.id.cname); 04/11 08:44
11F:→ laiair:name (ry 04/11 08:44
12F:→ laiair:listViews.add(viewProfile); 04/11 08:44
13F:→ laiair:另外一個layout也是 04/11 08:45
14F:推 slemonade:View profile = inflate(); 然後設定簡介;然後list 04/11 13:42
15F:→ slemonade:view.add(profile);然後viewpage設定listview 04/11 13:42
謝謝您們的指導 我會試試看的
今天一整個下午都在測試google map api2,我都快瘋了..
請問如果用View profile = inflate(); 那要return 什麼?? 不設又會出錯。
因為slemonade大大的呼叫方法,我不知道傳回值要傳甚麼...
對不起,程式的底子真的很糟糕>< 謝謝您們
所以,後來我是採取laiair大大的方式
我知道兩位大大的結果都是要顯示View,只是設置的方式不同
QAQ 真的很謝謝你們!!! (鞠躬~)
太開心了~成功了唷!!
※ 編輯: asifsea (1.174.242.29), 04/11/2014 22:53:09
※ 編輯: asifsea (1.174.242.29), 04/11/2014 23:11:38
16F:推 slemonade:Sor,我偷懶打字,inflate(你的layout),可以參考我樓上 04/12 17:22
17F:→ slemonade:的碼,我們的意思差不多,我只是多補充設定完之後在設進 04/12 17:22
18F:→ slemonade:去viewpage 04/12 17:22
現在又遇到傳送地圖的問題...intent 的方式 之前是用來傳送字串
請問如果是要傳用自訂的地圖是要用甚麼方式?
我google很多都是顯示用網頁呼叫地圖的方式,那如果是呼叫自訂的地圖呢?
已經解決了\^O^/
※ 編輯: asifsea (218.166.210.171), 04/14/2014 23:37:20
※ 編輯: asifsea (218.166.214.89), 04/15/2014 23:25:27