2013-02-07 14 views
0

, 當我點擊任何數量的 但是當我上了N多沒有發生點擊中有logcat中也沒有任何沒有錯誤強制關閉。的GridView setOnItemClickListener我使用一個GridView來顯示數字, 我想下一個活動不靈

下面是代碼

public class CActivity extends Activity 
{ 
    GridView gridView; 

    public void onCreate(Bundle savedInstanceState) 
      { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.cactivity); 

      gridView.setOnItemClickListener(new OnItemClickListener() 
      { 
       public void onItemClick(AdapterView<?> parent, View v, 
       int position, long id) { 

      Intent myIntent = new Intent(getApplicationContext(), Abc.class); 
      startActivity(myIntent); 
      //finish(); 
     } 
    }); 
} 
     private void initComponent() 
     { 
     gridView = (GridView) findViewById(R.id.month_gridView); 
     } 

我不知道問題出在,但gridView.setAdapter(adapter);工作是什麼。 plz幫助

gridView.setAdapter(adapter); 

如果我使用

GridView gridView = (GridView) findViewById(R.id.month_gridView); 

然後應用程序強制關閉

logcat的

02-07 21:10:12.721: W/dalvikvm(719): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
02-07 21:10:12.780: E/AndroidRuntime(719): FATAL EXCEPTION: main 
02-07 21:10:12.780: E/AndroidRuntime(719): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.indianic.demo.calendark/com.indianic.demo.calendark.CalendarActivity}: java.lang.NullPointerException 
02-07 21:10:12.780: E/AndroidRuntime(719): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569) 
02-07 21:10:12.780: E/AndroidRuntime(719): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
02-07 21:10:12.780: E/AndroidRuntime(719): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
02-07 21:10:12.780: E/AndroidRuntime(719): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
02-07 21:10:12.780: E/AndroidRuntime(719): at android.os.Handler.dispatchMessage(Handler.java:99) 
02-07 21:10:12.780: E/AndroidRuntime(719): at android.os.Looper.loop(Looper.java:123) 
02-07 21:10:12.780: E/AndroidRuntime(719): at android.app.ActivityThread.main(ActivityThread.java:3683) 
02-07 21:10:12.780: E/AndroidRuntime(719): at java.lang.reflect.Method.invokeNative(Native Method) 
02-07 21:10:12.780: E/AndroidRuntime(719): at java.lang.reflect.Method.invoke(Method.java:507) 
02-07 21:10:12.780: E/AndroidRuntime(719): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
02-07 21:10:12.780: E/AndroidRuntime(719): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
02-07 21:10:12.780: E/AndroidRuntime(719): at dalvik.system.NativeStart.main(Native Method) 
02-07 21:10:12.780: E/AndroidRuntime(719): Caused by: java.lang.NullPointerException 
02-07 21:10:12.780: E/AndroidRuntime(719): at android.app.Activity.findViewById(Activity.java:1647) 
02-07 21:10:12.780: E/AndroidRuntime(719): at com.indianic.demo.calendark.CalendarActivity.<init>(CalendarActivity.java:44) 
02-07 21:10:12.780: E/AndroidRuntime(719): at java.lang.Class.newInstanceImpl(Native Method) 
02-07 21:10:12.780: E/AndroidRuntime(719): at java.lang.Class.newInstance(Class.java:1409) 
02-07 21:10:12.780: E/AndroidRuntime(719): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
02-07 21:10:12.780: E/AndroidRuntime(719): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561) 
02-07 21:10:12.780: E/AndroidRuntime(719): ... 11 more 
02-07 21:10:18.061: I/Process(719): Sending signal. PID: 719 SIG: 9 

我用initComponent()方法中設置setOnItemClickListener()

強制關閉錯誤消失,應用程序正常打開,

但是下一個活動並未開啓或沒有任何反應。當我點擊這些項目時。 :(

至於你說我嘗試過不同的情況下,仍然沒有成功

   public void onItemClick(AdapterView<?> parent, View v3, 
       int position, long id) { 


      //setContentView(R.layout.abc); 
      switch (position) { 
      case 0: 
       Intent myIntent = new Intent(getApplicationContext(),Abc.class); 
       startActivity(myIntent); 
       break; 
      case 1: 
       Intent myIntent1 = new Intent(getApplicationContext(),Abc.class); 
       startActivity(myIntent1); 
       break; 
      case 2: 
       Intent myIntent2 = new Intent(getApplicationContext(),Abc.class); 
       startActivity(myIntent2); 
       break; 
      case 3: 
       Intent myIntent3 = new Intent(getApplicationContext(),Abc.class); 
       startActivity(myIntent3); 
       break; 
      case 4: 
       Intent myIntent4 = new Intent(getApplicationContext(),Abc.class); 
       startActivity(myIntent4); 
       break; 
      case 5: 
       Intent myIntent5 = new Intent(getApplicationContext(),Abc.class); 
       startActivity(myIntent5); 
       break; 
      case 6: 
       Intent myIntent6 = new Intent(getApplicationContext(),Abc.class); 
       startActivity(myIntent6); 
       break; 

      default: 
       break; 
      } 
      } 

    }); 

回答

2

您需要設置之前調用您的自定義initComponent()方法setOnItemClickListener()

public class CActivity extends Activity 
{ 
    GridView gridView; 

    public void onCreate(Bundle savedInstanceState) 
      { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.cactivity); 
    initComponent(); 
      gridView.setOnItemClickListener(new OnItemClickListener() 
      { 
       public void onItemClick(AdapterView<?> parent, View v, 
       int position, long id) { 
        switch (position) { 
       case 0://do the same for your remaining items 
        Intent myIntent = new Intent(getApplicationContext(), Abc.class); 
        startActivity(myIntent); 
        break; 

       default: 
        break; 
       } 
       } 
      //finish(); 
     } 
    }); 
} 
     private void initComponent() 
     { 
     gridView = (GridView) findViewById(R.id.month_gridView); 
     } 
+0

謝謝力閉合錯誤消失但沒有任何反應,如果我點擊數字:( – Metalhead1247

+0

wc ...請檢查您的Abc.class。哪些錯誤logcat diplays? –

+0

Abc中沒有錯誤,如果我在使用相同的代碼我在cactivity中的按鈕.e Intent myIntent = new Intent(getApplicationContext(),Abc.class); startActivity(myIntent);它運行正常 – Metalhead1247

相關問題