作者laugher (.。oO)
看板AndroidDev
標題Re: [問題] 請問如何在另一個class中使用alertdialog
時間Fri May 31 13:47:49 2013
※ 引述《laugher (.。oO)》之銘言:
: public void showItemCategory(Context ct) {
: String[] stra_item_category =
: getResources().getStringArray(R.array.stra_item_category);
: AlertDialog.Builder dlg_item_category = new AlertDialog.Builder(ct);
: dlg_item_category.setTitle(getString(R.string.str_dlg_item_category_title));
: dlg_item_category.setNeutralButton(getString(R.string.str_cancel), null);
: dlg_item_category.setItems(stra_item_category,
: new DialogInterface.OnClickListener() {
: public void onClick(DialogInterface dialog, int index) {
: showItemList(index);
: }
: }
: );
: dlg_item_category.show();
: }
我找到問題了
上面的函式裡的getResources或是getString等會讀取xml資源的都要改成
ct.getResources或ct.getString
因為目前的activity仍是RoamingMap
感謝版友的幫忙
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.72.155
1F:→ henry4343:我比較好奇你的c2是class要怎麼找到getString... 05/31 14:15
2F:→ henry4343:應該會直接報錯誤吧 05/31 14:15
3F:→ henry4343:還是你的c2有繼承什麼東西? 05/31 14:16
4F:→ laugher:c2我繼承Activity 05/31 14:23
5F:→ henry4343:你的寫法一整個怪,Activity用intent不是用new吧 05/31 14:59
6F:→ henry4343:你要在RoamingMap顯示alert應該code寫在RoamingMap吧 05/31 15:00
7F:→ henry4343:我一開始還以為你寫在一個class方便其他activity使用 05/31 15:00
8F:→ laugher:我分成另一個class是因為我想把他弄成函式庫的樣子 05/31 15:31
9F:→ laugher:比如管理"item"的所有功能都放在同一個class裡 05/31 15:31
10F:→ henry4343:那你就不該extends任何東西 單純都做class使用就好 05/31 15:41
11F:→ laugher:但那些功能仍是會需要像AlertDialog的能力啊 05/31 15:43
12F:→ henry4343:這...你的程式觀念似乎問題滿大的 05/31 16:11
13F:→ laugher:若你方便的話,可否請教你上述那些的論點跟原因何在? 05/31 19:04
14F:→ KeySabre:要用dialog的activity傳context參數進去、傳dialog回來就 06/02 19:16
15F:→ KeySabre:好,工具類別繼承activity意義上不對。 06/02 19:16