2013-03-14 45 views
1

我有3個選項卡,每個選項卡都有一個列表視圖。我已經註冊了這些列表視圖菜單。我有三個不同的數組列表,我在其中存儲各個列表視圖的項目。

現在我想要點擊的listview項目的位置。

我的代碼是:

public boolean onContextItemSelected(MenuItem item) { 

    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); 

     switch(item.getItemId()){ 

    case R.id.mycards_contextmenu_1: 

     if(mCurrentTab.equals("Tab 1")){ 
      try{ 
      int pos= info.position; 
      Toast.makeText(getBaseContext(), pos, Toast.LENGTH_LONG).show(); 
      }catch(Exception e){ 
       Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show(); 
      } 
      } 
    break; 

    } 

我得到

android.content.res.resources$notfoundexception 

我在哪裏出了錯?

編輯:

Stack Trace : 


03-14 22:06:12.488: E/AndroidRuntime(3055): FATAL EXCEPTION: main 
03-14 22:06:12.488: E/AndroidRuntime(3055): android.content.res.Resources$NotFoundException: String resource ID #0x0 
03-14 22:06:12.488: E/AndroidRuntime(3055): at android.content.res.Resources.getText(Resources.java:229) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at android.widget.Toast.makeText(Toast.java:265) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at neeraj.cardXchange.myCardsPackage.myCardsActivity.onContextItemSelected(myCardsActivity.java:211) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at android.app.Activity.onMenuItemSelected(Activity.java:2552) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at com.android.internal.policy.impl.PhoneWindow$DialogMenuCallback.onMenuItemSelected(PhoneWindow.java:3601) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at com.android.internal.view.menu.MenuDialogHelper.onClick(MenuDialogHelper.java:167) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:924) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at android.widget.AdapterView.performItemClick(AdapterView.java:298) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at android.widget.AbsListView.performItemClick(AbsListView.java:1086) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2855) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at android.widget.AbsListView$1.run(AbsListView.java:3529) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at android.os.Handler.handleCallback(Handler.java:615) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at android.os.Handler.dispatchMessage(Handler.java:92) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at android.os.Looper.loop(Looper.java:137) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at android.app.ActivityThread.main(ActivityThread.java:4745) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at java.lang.reflect.Method.invokeNative(Native Method) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at java.lang.reflect.Method.invoke(Method.java:511) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
03-14 22:06:12.488: E/AndroidRuntime(3055): at dalvik.system.NativeStart.main(Native Method) 
+0

錯誤是什麼?如果你不知道,請發佈全棧跟蹤 – codeMagic 2013-03-14 16:17:28

+0

int pos = info.position; – user2056245 2013-03-14 16:18:32

+0

請粘貼完整的堆棧跟蹤 – 2013-03-14 16:32:55

回答

2

應該是

Toast.makeText(getBaseContext(), String.valueOf(pos), Toast.LENGTH_LONG).show(); 

Toast還具有makeText()方法,該方法接受字符串的資源ID(其爲int),並且通過考取pos,您調用該方法,該方法無法找到具有該ID的字符串資源,因此可以使用

android.content.res.Resources$NotFoundException 
+0

,但我如何使用整數值的pos ??? 我想pos的整數值..... – user2056245 2013-03-14 16:42:05

+0

進一步我想用它的值來寫刪除函數,其中「pos:會給物品的位置點擊嗎? – user2056245 2013-03-14 16:42:44

+0

@ user2056245 Toasts向用戶顯示一些東西並且該方法可以接受一個字符串或一個字符串資源ID,我將'pos'轉換爲一個String *來作爲* Toast,所以它不會崩潰。您可以繼續使用'pos'作爲int – 2013-03-14 16:43:39

相關問題