看板 AndroidDev 關於我們 聯絡資訊
我在menu_main中使用actionProviderClass去設定actionbar的內容, (android:actionProviderClass="com.kermitlin.imha.FilterActionProvider") <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <group android:id="@+id/gp2"> <item android:id="@+id/tb_InstaChat" android:icon="@drawable/ic_autorenew_white_24dp" android:actionProviderClass="com.kermitlin.imha.FilterActionProvider" android:orderInCategory="2" android:showAsAction="ifRoom" android:title="tt2" /> </group> </menu> 以下是FilterActionProvider public class FilterActionProvider extends ActionProvider { public FilterActionProvider(Context context) { super(context); } @Override public View onCreateActionView() { return null; } @Override public void onPrepareSubMenu(SubMenu subMenu) { subMenu.clear(); DBOperator db; db = new DBOperator(this.getApplication().getPackageName(), this); db.open(); //我在這邊就會錯誤,無法使用getApplication() subMenu.add("Reminders").setIcon(R.drawable.ic_launcher) .setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { return true; } }); } @Override public boolean hasSubMenu() { return true; } } 我想要請問應該如何在MyactionProvider中使用sqlite, 或是說應該要如何解決getApplication()的問題, 抱歉我是初學者如果問題太愚蠢請多包涵,謝謝<(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.46.136 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1433519581.A.E71.html ※ 編輯: c310759 (140.113.46.136), 06/05/2015 23:58:37
KeySabre: 從你建構子由外部傳入的context拿 06/06 00:07
y3k: Activity鏡射成Context丟給Class 06/06 22:16