2015-03-08 2 views
0

У меня есть приложение для курса, которому нужен прототип. Остальная часть моего кода в порядке, за исключением этой части, где я не могу переключать окна. Надеюсь, ты поможешь мне, потому что эта ошибка сводит меня с ума. Спасибо :)К сожалению, (приложение) остановлено

EDIT: Я добавил третий класс

Это мой четвёртый макет

package com.example.appxercise_techno; 

import com.example.appxercise_techno.activity4; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.content.Intent; 

    public class activity4 extends activity3 implements OnClickListener{ 

    Button heart,leg,abs,chest,back; 

    @Override 
    public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.sub4); 

    heart = (Button)findViewById(R.id.heart); 
    leg = (Button)findViewById(R.id.leg); 
    abs = (Button)findViewById(R.id.abs); 
    chest = (Button)findViewById(R.id.chest); 
    back = (Button)findViewById(R.id.back); 

    back.setOnClickListener(new OnClickListener(){ 
     public void onClick(View v){ 
     Intent intent = new Intent(activity4.this, activity3.class); 
     startActivity(intent); 
      } 
     }); 

    heart.setOnClickListener(new OnClickListener(){ 
     public void onClick(View v){ 
      Intent intent = new Intent(activity4.this, activity5.class); 
      startActivity(intent); 
      } 
     }); 

    leg.setOnClickListener(new OnClickListener(){ 
     public void onClick(View v){ 
     Intent intent = new Intent(activity4.this, activity6.class); 
     startActivity(intent); 
     } 
    }); 

    abs.setOnClickListener(new OnClickListener(){ 
     public void onClick(View v){ 
     Intent intent = new Intent(activity4.this, activity7.class); 
     startActivity(intent); 
     } 
    }); 

chest.setOnClickListener(new OnClickListener(){ 
    public void onClick(View v){ 
     Intent intent = new Intent(activity4.this, activity8.class); 
     startActivity(intent); 
     } 
    }); 

    } 
} 


This is the layout xml 

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res /android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <Button 
     android:id="@+id/back" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="36dp" 
     android:text="Back" /> 

    <TextView 
     android:id="@+id/large" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="25dp" 
     android:text="Side Quest Trainings" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <Button 
     android:id="@+id/abs" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/heart" 
     android:layout_alignBottom="@+id/heart" 
     android:layout_marginLeft="14dp" 
     android:layout_toRightOf="@+id/back" 
     android:text="Cores" /> 

    <Button 
     android:id="@+id/heart" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/large" 
     android:layout_below="@+id/large" 
     android:layout_marginTop="68dp" 
     android:text="Cardio" /> 

    <Button 
     android:id="@+id/leg" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/chest" 
     android:layout_alignBottom="@+id/chest" 
     android:layout_alignLeft="@+id/abs" 
     android:text="Lower" /> 

    <Button 
     android:id="@+id/chest" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/back" 
     android:layout_marginBottom="54dp" 
     android:layout_toLeftOf="@+id/back" 
     android:text="Upper" /> 

</RelativeLayout> 

И это ошибка

03-07 23: 09: 21,010: E/AndroidRuntime (1192): FATAL EXCEPTION: main 03-07 23: 09: 21.010: E/AndroidRuntime (1192): Процесс: com.example.appxercise_techno, PID: 1192 03-07 23: 09: 21.010: E/AndroidRuntime (1192): java.lang.RuntimeException: невозможно запустить активность ComponentInfo {c om.example.appxercise_techno/com.example.appxercise_techno.activity4}: java.lang.NullPointerException 03-07 23: 09: 21.010: E/AndroidRuntime (1192): at android.app.ActivityThread.performLaunchActivity (ActivityThread.java: 2176) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2226) 03-07 23: 09: 21.010: E/AndroidRuntime (1192) : at android.app.ActivityThread.access $ 700 (ActivityThread.java:135) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1397) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): at android.os.Handler.dispatchMessage (Handler.java:102) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): на android.os.Looper.loop (Looper.java:137) 03-07 23:09: 21.010: E/AndroidRuntime (1192): at android.app.ActivityThread.main (ActivityThread.java:4998) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): at java.lang.reflect.Method. invokeNative (Native Method) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): at java.lang.reflect.Method.invoke (Method.java:515) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:777) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): at com.android.internal .os.ZygoteInit.main (ZygoteInit.java:593) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): at dalvik.system.NativeStart.main (родной метод) 03-07 23:09: 21.010: E/AndroidRuntime (1192): вызвано: java.lang.NullPointerException 03-07 23: 09: 21.010: E/AndroidRuntime (1192): at com.example.appxerc ise_techno.activity2.onCreate (activity2.java:27) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): at com.example.appxercise_techno.activity3.onCreate (activity3.java:19) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): at com.example.appxercise_techno.activity4.onCreate (activity4.java:16) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): на android. app.Activity.performCreate (Activity.java:5243) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1087) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2140) 03-07 23: 09: 21.010: E/AndroidRuntime (1192): ... 11 далее

This is the third activity 

package com.example.appxercise_techno; 

import com.example.appxercise_techno.activity3; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.TextView; 
import android.content.Intent; 

public class activity3 extends activity2 implements OnClickListener{ 

TextView out1, out2, out3, out4, out5, out6, big; 
Button quest; 

@Override 
public void onCreate(Bundle savedInstanceState){ 
super.onCreate(savedInstanceState); 
setContentView(R.layout.sub3); 

    out1 = (TextView)findViewById(R.id.out1); 
    out2 = (TextView)findViewById(R.id.out2); 
    out3 = (TextView)findViewById(R.id.out3); 
    out4 = (TextView)findViewById(R.id.out4); 
    out5 = (TextView)findViewById(R.id.out5); 
    out6 = (TextView)findViewById(R.id.out6); 
    big = (TextView)findViewById(R.id.big); 
    quest = (Button)findViewById(R.id.quest); 

    Bundle extras = getIntent().getExtras(); 
    String name = extras.getString("name1"); 
    Double result = extras.getDouble("result"); 

    big.setText("Your Routine " +name); 

    if (result >= 15 && result < 16){ 

     out1.setText("10 Pushups"); 
     out2.setText("10 Situps"); 
     out3.setText("10 Seconds Plank"); 
     out4.setText("5 Squat Thrusts"); 
     out5.setText("10 Pullups"); 
     out6.setText("2 Sets. Rest between sets up to 2 mins."); 
    } 

    else if (result >= 16 && result < 18.5){ 

     out1.setText("5 Minutes Running/Walking"); 
     out2.setText("20 Pushups"); 
     out3.setText("20 Seconds Plank"); 
     out4.setText("20 Lunges"); 
     out5.setText("30 Shadowbox Punches"); 
     out6.setText("3 Sets. Rest between sets up to 3 mins."); 
    } 

    else if (result >= 18.5 && result < 25){ 

     out1.setText("20 Pushups"); 
     out2.setText("20 Seconds Plank"); 
     out3.setText("20 Situps"); 
     out4.setText("12 Flutter Kicks"); 
     out5.setText("15 Squats"); 
     out6.setText("5 Sets. Rest between sets up to 2 mins."); 
    } 

    else if (result >= 25 && result < 30){ 

     out1.setText("20 Pushups"); 
     out2.setText("10 Seconds Plank"); 
     out3.setText("50 Shadowbox Punches"); 
     out4.setText("60 Seconds One Leg Stand"); 
     out5.setText("20 Pullups"); 
     out6.setText("3 Sets. Rest between sets up to 2 mins."); 
    } 

    else if (result >= 30 && result < 35){ 

     out1.setText("3 Minutes Sprint"); 
     out2.setText("10 Jumping Jacks"); 
     out3.setText("10 Squats"); 
     out4.setText("5 Second Plank"); 
     out5.setText("20 Toe Reaches"); 
     out6.setText("3 Sets. Rest bewteen sets up to 3 mins. "); 
    } 

    else if (result >= 35){ 

     out1.setText("3 Minutes Sprint"); 
     out2.setText("10 Jumping Jacks"); 
     out3.setText("10 Knee Touches"); 
     out4.setText("10 Toe Reaches"); 
     out5.setText("10 Climbers"); 
     out6.setText("2 Sets. Rest bewteen sets up to 3 mins."); 
    } 

    quest.setOnClickListener(new OnClickListener(){ 
     public void onClick(View v){ 
      Intent intent = new Intent(activity3.this, activity4.class); 
      startActivity(intent); 
      } 
     }); 
    } 
} 
+0

Является ли activity3 подклассов активность? – Makketronix

+0

да, это подкласс. –

ответ

0

Это строка ошибки (это должна быть строка 27)

Intent intent = new Intent(activity4.this, activity3.class);;

деятельность3 продлена на деятельность4. Вы уверены, что activity3 не является абстрактным? Кроме того, попробуйте это, а не activity4.this, попробуйте getContext(). Это не важно, но на всякий случай.

И, наконец, это рушится на всех кнопках или просто обратно?

+0

Благодарю вас за ответ, но ошибка все еще сохраняется. Может быть, это на третьем занятии, а не на четвертом? Потому что мой код останавливается, когда я нажимаю кнопку на третьем действии. –

+0

EDIT: я добавил третью операцию –

0

Проблема может быть с extra, являющейся нулевым.

См. Это question.

Добавьте ваш sub3.xml, если проблема не устранена.

0

Вы, кажется, есть проблема здесь

Bundle extras = getIntent().getExtras(); // extras is null since you are not setting up bundle there 
String name = extras.getString("name1"); // gives NPE 
Double result = extras.getDouble("result"); 
Смежные вопросы