[問題] 有關startActivity的問題

看板AndroidDev作者 (xling)時間12年前 (2013/09/29 16:25), 編輯推噓3(302)
留言5則, 4人參與, 最新討論串1/1
各位版友好 有問題想請版友們幫忙解惑一下 我近日才開始學android 最近再學用BaseAdapter 我用ListView+BaseAdapter BaseAdapter裡有幾個元件 其中有一個Button Button要做的動作只能在BaseAdapter的code裡面寫 我現在想讓我的程式 在按下list上的button後 可以開啟一個activity 所以我在button的動作裡面寫了以下代碼 Intent intent = new Intent(); intent.setClass(context, Detail_button.class); startActivity(intent); 結果發現 在BaseAdapter內部不能使用startActivity() 不知道各位版友可不可以給我點Hint 讓我解決這個問題 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.156.74

09/29 16:53, , 1F
在constructor中把activity傳到BaseAdapter內
09/29 16:53, 1F
不太懂 是在建構子中多一個android.app.Activity的欄位嗎? 如下: public MyAdapter(Context c, List<String> ShopName, List<String> ShopAddr, List<String> ShopPhone, android.app.Activity PASS){ .... } 然後再ListActivity那宣告 android.app.Activity PASS = new android.app.Activity(); 再將PASS送到Adapter嗎? setListAdapter(new MyAdapter(myActive,ShopName,ShopAddr,ShopPhone, PASS)); ※ 編輯: xling5216 來自: 140.115.156.74 (09/29 18:21)

09/29 20:28, , 2F
如果Adapter是inner class 可用 MyActivity.this 取得
09/29 20:28, 2F

09/29 20:28, , 3F
Activiy 實體,再呼叫 startActivity();
09/29 20:28, 3F

09/29 21:33, , 4F
直接用一個 Context 的全域變數接下來進去就可以了
09/29 21:33, 4F

09/30 19:53, , 5F
謝謝大家:) 我已經解決囉~
09/30 19:53, 5F
文章代碼(AID): #1IH-FU_q (AndroidDev)