2013-03-14 1 views
1

나는 3 개의 탭이 있고 각 탭에는 listview가있다. 나는이 목록보기를 문맥 메뉴에 등록했다. 나는 각각의 listviews에 대한 항목을 저장하는 세 가지 arraylists 있습니다.

이제 클릭 한 listview의 위치가 필요합니다.

내 코드입니다 : 내가 잘못 갈

android.content.res.resources$notfoundexception 

을 얻고있다

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; 

    } 

?

EDIT :

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

오류는 무엇입니까? 만약 당신이 모르는 경우 전체 stacktrace 게시하시기 바랍니다 – codeMagic

+0

int pos = info.position; – user2056245

+0

전체 스택 추적을 붙이십시오 –

답변

2
Toast.makeText(getBaseContext(), pos, Toast.LENGTH_LONG).show(); 

, 그리고 pos를 파징하여

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

Toast도 (AN int 인) 문자열 리소스 ID를 받아들이 makeText() 방법을 가지고 있어야 그 id를 가진 String 리소스를 찾을 수없는 해당 메서드를 호출하므로

android.content.res.Resources$NotFoundException 
+0

어떻게 정수 값을 사용할 수 있습니까? pos의 ??? 나는 pos의 정수 값을 원한다 ..... – user2056245

+0

나는 그 값을 사용하여 "pos : 항목의 위치를 ​​줄 것인가?"라고 쓰고 싶다. – user2056245

+0

@ user2056245 토스트가 사용자에게 무엇인가를 표시한다. 이 메소드는 String 또는 String 리소스 ID를 받아 들일 수 있습니다. 토스트에 대해서만'pos'를 String으로 변환 했으므로 충돌하지 않을 것입니다.'pos'를'int'로 계속 사용할 수 있습니다 귀하의 코드는 여전히 'int'이기 때문에 –

관련 문제