2013-12-04 2 views
1

Я использую этот код, чтобы начать деятельность, когда нажмите ImageButtonандроид Кнопка ошибки начала деятельности

 import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 

import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     OnClickListener listnr=new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent i= new Intent(MainActivity.this, FlashActivity.class); 
       startActivity(i); 
      } 
     }; 
     Button imageButton1 =(Button) findViewById(R.id.imageButton1); 
     imageButton1.setOnClickListener(listnr); 
} 
} 

это крах может кто-нибудь сказать мне ошибку в этом коде

ошибке 12-04 14:30 : 02.506: E/AndroidRuntime (31514): FATAL EXCEPTION: main 12-04 14: 30: 02.506: E/AndroidRuntime (31514): java.lang.RuntimeException: не удается запустить активность ComponentInfo {com.app.flash/com .app.flash.MainActivity}: java.lang.ClassCastException: android.widget.ImageButton нельзя отнести к android.widget.Button 12-04 14:30: 02.506: E/AndroidRuntime (31514): at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2185) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2210) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): at android.app.ActivityThread.access $ 600 (ActivityThread.java:142) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1208) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): at android.os.Handler.dispatchMessage (обработчик .java: 99) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): at android.os.Looper.loop (Looper.java:137) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): at android.app.ActivityThread.main (ActivityThread.java:4931) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): at java.lang.reflect.Method.invokeNative (собственный метод) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): at java.lang.reflect.Method.invoke (метод. java: 511) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:791) 12-04 14:30: 02.506: E/AndroidRuntime (31514): at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:558) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): в dalvik.system. NativeStart.main (Native Method) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): вызвано: java.lang.ClassCastException: android.widget.ImageButton нельзя отнести к android.widget.Button 12- 04 14: 30: 02.506: E/AndroidRuntime (31514): at com.app.flash.MainActivity.onCreate (MainActivity.java:17) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): at android.app.Activity.performCreate (Activity.java:5008) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): на android.app.Instrumentation. callActivityOnCreate (Instrumentation.java:1079) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2139) 12-04 14: 30: 02.506: E/AndroidRuntime (31514): ... 11 более

+0

всякий раз, когда вы отправляете код, который выходит из строя, рекомендуется использовать поэтому опубликуйте трассировку стека ошибок, поэтому проблему можно обнаружить более легко. – Tom

ответ

7

Используйте это будет решить вашу проблему

Intent i= new Intent(CurrentActivity.this, UpcomingActivity.class); 
startActivity(i); 

не забудьте определить свой класс в файле манифеста.

Для Ex:

Button imageButton1 =(Button) findViewById(R.id.imageButton1); 

     imageButton1.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent i= new Intent(CurrentActivity.this, UpcomingActivity.class); 
    startActivity(i); 
      } 
     }); 

Убедитесь, что в XML-файл, который вы включили кнопку не IMAGEBUTTON.Если кнопка изображения в XML-файл, то вам нужно, как нижеприведенный:

ImageButton imageButton1 =(ImageButton) findViewById(R.id.imageButton1); 
+0

я попробовать это, но я сталкиваюсь с той же проблемой, \t \t OnClickListener listnr = новый OnClickListener() { \t @Override \t общественного недействительного OnClick (View v) { \t \t Intent я = новый Intent (MainActivity.this, FlashActivity .класс); \t \t startActivity (i); \t} \t}; \t Button imageButton1 = (кнопка) findViewById (R.id.imageButton1); \t imageButton1.setOnClickListener (listnr); } – tdtd

+0

Проверьте мой выбор для refrence – AndroidHacker

+0

я попробовать это, и это дает мне ошибки я отправляю в вопросе редактировать – tdtd

1

начала активность на Button Click как:

OnClickListener listnr=new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
       Intent i= new Intent(v.getContext(),FlashActivity.class); 
       startActivity(i); 
     } 
    }; 

, а также убедитесь, что вы объявили FlashActivity активность в AndroidManifest.xml

0

Определить это переменная в вашей деятельности public Контекстный контекст;

и в вашем на создание до слушателя записи: контекста = это

и изменить startactivity (I) с context.startActivity (я)

Надеется, что это помогает

1
   OnClickListener=new OnClickListener() 
       { 
       @Override 
        public void onClick(View v) { 
        Intent i= new Intent(context,classname); 
       startActivity(i); 
    } 
}; 
    Button imageButton1 =(Button) findViewById(R.id.imageButton1); 
    imageButton1.setOnClickListener(listnr); 
0

попробовать его путь:

OnClickListener listnr=new OnClickListener() { 
     @Override 
     public void onClick(View v) { 

       startActivity(new Intent("currentActivity.this, FlashActivity.class")); 
     } 
    }; 
    Button imageButton1 =(Button) findViewById(R.id.imageButton1); 
    imageButton1.setOnClickListener(listnr); 
+0

12-04 14: 06: 40,504: E/AndroidRuntime (25649): \t в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2139) 12-04 14: 06: 40.504: E/AndroidRuntime (25649): \t ... еще 11 – tdtd

Смежные вопросы