2017-02-19 1 views
1

Ich bin ein Neuling, wenn es um Java geht, also nahm ich an einem Projekt an meiner Universität teil, das erstellt wurde, um dem ersten Jahr mit dem Codieren zu helfen (wie ich: c). Nun, ich habe ein Problem mit dem Öffnen einer neuen Aktivität von, sagen wir, Hauptmenü.Probleme mit einem Knopf, um neue Aktivität zu öffnen

Debuggen funktioniert gut, App startet, aber wenn ich auf den ImageButton "Neues Spiel" im Hauptmenü tippen, die theoretisch eine andere Aktivität in neuen .java-Datei öffnen sollte, stürzt die App ab. Ich fragte meinen Tutor (sie ist auch ein Student) darüber und sie sagt, dass sie keine Ahnung hat, was falsch ist, denn alles sollte gut funktionieren.

Hier ist ein Teil der main_activity.xml Datei des Image selbst:

<ImageButton 
    android:layout_width="178dp" 
    android:layout_height="20dp" 
    android:id="@id/start" 
    android:src="@drawable/nowa" 
    android:layout_centerHorizontal="true" 
    android:adjustViewBounds="true" 
    android:cropToPadding="false" 
    android:layout_below="@+id/hlTopBar" 
    android:background="#00000000" 
    android:scaleType="fitXY" 
    android:layout_weight="0.02" 
    android:layout_margin="10dp" /> 

MainActivity.java

import static com.example.wojciech.myapplication.R.id.start; 
import static com.example.wojciech.myapplication.R.layout.activity_main; 
public class MainActivity extends AppCompatActivity implements View.OnClickListener { 

ImageButton przyciskStart; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(activity_main); 

    przyciskStart = (ImageButton) findViewById(start); 
    przyciskStart.setOnClickListener(this); 
} 

@Override 
public void onClick (View a){ 
    if(a.getId()== start) { 
     Intent intent = new Intent(getApplicationContext(), nowa_gra.class); 
     startActivity(intent); 
    } 

und nowa_gra.java

package com.example.wojciech.myapplication; 

import android.os.Bundle; 

import android.support.v7.app.AppCompatActivity; 

import static com.example.wojciech.myapplication.R.layout.nowa1; 

public class nowa_gra extends AppCompatActivity{ 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(nowa1); 
} 

} 

Es ein nowa1 ist XML-Datei in Layouts.

Also meine Frage ist, haben Sie eine Ahnung, was los ist?

Ich schätze wirklich jede Hilfe euch zur Verfügung stellen kann :)

+0

Können Sie den Fehler schreiben Sie bekommen? – mVck

+0

Ich bekomme keine Fehler, die App funktioniert einfach nicht mehr. –

+0

[link] (http://pastebin.com/j9jBpiaE) Das ist, was Android Monitor in Android Studio sagt: c –

Antwort

1

Ihre Aktivität in manifest registrieren, wenn nicht registriert.

0

Ihre Mainactivity.java ändern wie dieser die neue Aktivität registrieren

import static com.example.wojciech.myapplication.R.id.start; 
    import static com.example.wojciech.myapplication.R.layout.activity_main; 

    public class MainActivity extends AppCompatActivity implements View.OnClickListener { 

ImageButton przyciskStart; 

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

addListenerOnImageButton(); 
} 

public void addListenerOnImageButton() { 

    final Context context = this; 

    przyciskStart = (ImageButton) findViewById(R.id.start); 

    przyciskStart.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      Intent intent = new Intent(context, nowa_gra.class); 
      startActivity(intent); 
      finish(); 
     } 
    }); 
    } 
} 

Auch sehen in Ihnen Android Manifiest.xml Datei zum Beispiel;

<activity 
     android:name=".nowa_gra" 
     android:label="nowa_gra" 
     android:screenOrientation="portrait" /> 
-1

in der XML-Datei replece android:id="@id/start"-android:id="@+id/start" res funktioniert richtig

+0

Während diese Änderung wahrscheinlich notwendig ist, wird die Ausnahme nicht behoben. –

Verwandte Themen