0

조각 내 격자보기에 표시된 이미지에서 onclick 이벤트가 발생하면 이미지 속성을 가져 오려고합니다. onItemClick 메서드에 전달 된 매개 변수에서 값을 가져 오려고합니다. 매개 변수에 액세스하려고하면 토스터에서 앱이 작동을 멈 춥니 다.GridView의 OnItemClickListener가 조각 내부에서 응답하지 않습니다.

토스터 안에 "test"라는 텍스트를 v.getId()/position/id로 바꿉니다. 그런 다음 앱이 중지됩니다.

다음은 코드입니다.

GridView gridView = (GridView) view.findViewById(R.id.imageGrid); 
    gridView.setAdapter(new ImageAdapter(this));  
    gridView.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
     Toast.makeText(getActivity(), "test" ,Toast.LENGTH_SHORT).show(); 
     }}); 

다른 세부 정보를 제공해야합니까? 아니면 바보 같은 실수를하는거야?

업데이트 : 여기에 오류 로그를 추가하고 있습니다. 당신이 Toastv.getId()/position/id를 전달하면

09-28 16:03:53.327: W/dalvikvm(15316): threadid=1: thread exiting with uncaught exception (group=0x410f6300) 
09-28 16:03:53.337: E/AndroidRuntime(15316): FATAL EXCEPTION: main 
09-28 16:03:53.337: E/AndroidRuntime(15316): android.content.res.Resources$NotFoundException: String resource ID #0x10 
09-28 16:03:53.337: E/AndroidRuntime(15316): at android.content.res.Resources.getText(Resources.java:229) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at android.widget.Toast.makeText(Toast.java:265) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at com.example.store.fragments.AllStoresFragment$1.onItemClick(AllStoresFragment.java:111) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at android.widget.AdapterView.performItemClick(AdapterView.java:298) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at android.widget.AbsListView.performItemClick(AbsListView.java:1086) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2855) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at android.widget.AbsListView$1.run(AbsListView.java:3529) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at android.os.Handler.handleCallback(Handler.java:615) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at android.os.Handler.dispatchMessage(Handler.java:92) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at android.os.Looper.loop(Looper.java:137) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at android.app.ActivityThread.main(ActivityThread.java:4745) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at java.lang.reflect.Method.invokeNative(Native Method) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at java.lang.reflect.Method.invoke(Method.java:511) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
09-28 16:03:53.337: E/AndroidRuntime(15316): at dalvik.system.NativeStart.main(Native Method) 
+0

는 u는 오류를 발견 했습니까? 그런 다음 여기에 logcat 게시 – MAC

답변

1

그것은 그것을 발견하고 그 예외를 발생하지 않습니다 strings.xml,에서 String 자원의 id을 대표한다고 생각합니다. 이 대신에보십시오 :

Toast.makeText(getActivity(), String.valueOf(position), Toast.LENGTH_SHORT).show(); 

또는

Toast.makeText(getActivity(), "" + position + " " + id, Toast.LENGTH_SHORT).show(); 
+0

감사합니다 Luksprog. 내 시간을 구 했잖아. 이것으로 거의 2 시간을 보냈습니다. – intrepidkarthi

관련 문제