Здравствуйте. У меня не запускается следующее активити. Проблема не в ID элементов. 3аранее спасибо.
Вот ошибка: E/AndroidRuntime: FATAL EXCEPTION: main Process: kz.yensanova.logika_alemi, PID: 1510 java.lang.OutOfMemoryError at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:587) at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:422) at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:840) at android.content.res.Resources.loadDrawable(Resources.java:2115) at android.content.res.TypedArray.getDrawable(TypedArray.java:602) at android.view.View.(View.java:3554) at android.widget.ImageView.(ImageView.java:123) at android.widget.ImageButton.(ImageButton.java:87) at android.support.v7.widget.AppCompatImageButton.(AppCompatImageButton.java:60) at android.support.v7.widget.AppCompatImageButton.(AppCompatImageButton.java:56) at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:118) at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1021) at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1080) at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:47) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) at android.view.LayoutInflater.rInflate(LayoutInflater.java:756) at android.view.LayoutInflater.inflate(LayoutInflater.java:492) at android.view.LayoutInflater.inflate(LayoutInflater.java:397) at android.view.LayoutInflater.inflate(LayoutInflater.java:353) at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:288) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at kz.yensanova.logika_alemi.ActivityKaz2.onCreate(ActivityKaz2.java:17) at android.app.Activity.performCreate(Activity.java:5231) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) at android.app.ActivityThread.access$800(ActivityThread.java:135) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at dalvik.system.NativeStart.main(Native Method) I/Process: Sending signal. PID: 1510 SIG: 9 Application terminated.
xml-код:
<ImageButton
android:layout_width="60dp"
android:layout_height="100dp"
android:background="@drawable/samal"
android:id="@+id/imageButton152"
android:layout_marginRight="47dp"
android:layout_marginEnd="47dp"
android:layout_alignTop="@+id/imageButton155"
android:layout_alignRight="@+id/imageButton151"
android:layout_alignEnd="@+id/imageButton151" />
<ImageButton
android:background="@drawable/lupa"
android:id="@+id/imageButton155"
android:layout_width="70dp"
android:layout_height="85dp"
android:layout_alignBottom="@+id/imageButton153"
android:layout_toLeftOf="@+id/imageButton154"
android:layout_toStartOf="@+id/imageButton154"
android:layout_marginRight="19dp"
android:layout_marginEnd="19dp"
android:layout_marginBottom="23dp" />
<ImageButton
android:background="@drawable/ertegiler"
android:id="@+id/imageButton156"
android:layout_width="90dp"
android:layout_height="110dp"
android:layout_marginLeft="39dp"
android:layout_marginStart="39dp"
android:layout_centerVertical="true"
android:layout_alignLeft="@+id/imageButton155"
android:layout_alignStart="@+id/imageButton155" />
<ImageButton
android:layout_height="100dp"
android:background="@drawable/fotoapparat"
android:id="@+id/imageButton154"
android:layout_width="90dp"
android:layout_alignBottom="@+id/imageButton155"
android:layout_toLeftOf="@+id/imageButton153"
android:layout_toStartOf="@+id/imageButton153" />
<ImageButton
android:layout_height="120dp"
android:background="@drawable/sayakhat"
android:id="@+id/imageButton157"
android:layout_width="130dp"
android:layout_marginRight="7dp"
android:layout_marginEnd="7dp"
android:layout_below="@+id/imageButton152"
android:layout_toLeftOf="@+id/imageButton154"
android:layout_toStartOf="@+id/imageButton154" />
<ImageButton
android:background="@drawable/talap"
android:id="@+id/imageButton153"
android:layout_height="90dp"
android:layout_width="90dp"
android:layout_marginTop="58dp"
android:layout_marginRight="20dp"
android:layout_marginEnd="20dp"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/imageButton152"
android:layout_toStartOf="@+id/imageButton152" />
Java-код второго активити: public class ActivityKaz2 extends AppCompatActivity { ImageButton imageButton151, imageButton152, imageButton153, imageButton154, imageButton155, imageButton156, imageButton157; MediaPlayer mediaPlayer1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kaz2);
imageButton151 = (ImageButton)findViewById(R.id.imageButton151);
imageButton152 = (ImageButton)findViewById(R.id.imageButton152);
imageButton153 = (ImageButton)findViewById(R.id.imageButton153);
imageButton154 = (ImageButton)findViewById(R.id.imageButton154);
imageButton155 = (ImageButton)findViewById(R.id.imageButton155);
imageButton156 = (ImageButton)findViewById(R.id.imageButton156);
imageButton157 = (ImageButton)findViewById(R.id.imageButton157);
mediaPlayer1 = MediaPlayer.create(this, R.raw.eki);
mediaPlayer1.start();
imageButton151.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent(ActivityKaz2.this, Arman.class);
startActivity(intent1);
mediaPlayer1.stop();
}
});
imageButton152.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent2 = new Intent(ActivityKaz2.this, Samal.class);
startActivity(intent2);
mediaPlayer1.stop();
}
});
imageButton153.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent3 = new Intent(ActivityKaz2.this, Talap.class);
startActivity(intent3);
mediaPlayer1.stop();
}
});
imageButton154.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent4 = new Intent(ActivityKaz2.this, Aizere.class);
startActivity(intent4);
mediaPlayer1.stop();
}
});
imageButton155.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent5 = new Intent(ActivityKaz2.this, Ayan.class);
startActivity(intent5);
mediaPlayer1.stop();
}
});
imageButton156.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent6 = new Intent(ActivityKaz2.this, Kiziltelpek.class);
startActivity(intent6);
mediaPlayer1.stop();
}
});
imageButton157.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent7 = new Intent(ActivityKaz2.this, Sarsen.class);
startActivity(intent7);
mediaPlayer1.stop();
}
});
}
P.S: ID были правильно указаны, я просто по ошибке отправила xml-код чернового варианта.
проблема в следующем, id не соответствует действительности, проверь id, у тебя в xml указан один Id, а в коде используется другой id, подправь вот так(ниже код), и на будущее называй id осмысленно
imageButton151 = (ImageButton)findViewById(R.id.imageButton3);
imageButton152 = (ImageButton)findViewById(R.id.imageButton4);
Ответ на вопрос дал Suleymanovtat, Вы ищите в xml не те объекты. Я хотел его дополнить несколькими советами. Чтобы Вам и нам было проще решить Вашу проблему, Вам следует сделать следующие вещи:
Посмотрите о Logcat,
сюда выпадают все ошибки. Если приложение непонятно почему крашится,
в колонку Error
пишется стектрейс. Это последовательность
вызова методов до прихода к ошибке. Прочитайте о нем тут -
стектрейс.
Logcat работает только тогда, когда Вы запускаете программу на реальном устройстве (с подключенным USB кабелем и режимом откладки) или просто на эмуляторе. С данным вопросом можно повозится, но инструкций в этом плане очень много.
Как только разберетесь со стектрейсом, перед тем, как задать вопрос сюда - "гуглите" название появившейся ошибки. В данной ситуации у Вас появлялась NullPoinerException
, самая популярная ошибка. Она означает, что Вы обращаетесь к объекту, который null
, то есть НЕ инициализирован.
Исходя из ошибки Вы можете понять, что метод findViewById
не вернул Вам объект, а просто его не нашел. Есть удерживать Ctrl
и нажать ЛКМ на методе - Вам перенесет к нему, а уже у него есть документация, где описываются случаи возвращения null
. Мораль: всегда читайте документацию к используемым методам и классам.
И почитайте о конвенциях кода. Это стандарт написания, Ваш код становится легче читать всем, включая Вам.
100% вопросов, которые Вы захотите задать в ближайшие пол года, Вы в состоянии решить сами. Просто ищите в интернете и пытайтесь разобраться из-за чего произошла ошибка. И ищите на английском. На нем легче найти ответ, даже если Вы плохо знаете английский (сам не верю, но это так... :)). Базовые вещи сверху обязательны и будут экономить Ваше время.
P.S. И вопросы нужно дополнять кнопкой "править" под вопросом. Не мучайте нас.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Пытаюсь настроить непрерывный обмен пакетами между клиентом и сервером
Не получается подключить библиотеку jsoupПоиск в интернете особо не помог, проблема осталась
Можно ли проверить через Hibernate грамматику конкретного SQL диалекта (Postgres, MySQL, Oracle и тд