Android Studio - Anwendung gestoppt hat
Ich versuche Android Studio. Ich habe eine einfache app mit einem button mit onClickLister()
zeigen eine Toast-Nachricht. Ich bekomme die Meldung "diese Anwendung wurde beendet".
-Der gleiche code funktioniert mit Eclipse
-Ich habe mehr Projekte zu versuchen
-versucht, die auf virtuellen und realen Gerät
-Neu Installiert Android Studio
Irgendeine Idee?
XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity$PlaceholderFragment">
<TextView
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
Meine Activity-Klasse hier :
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button mibtn = (Button)findViewById(R.id.button);
mibtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(),"Apretado", Toast.LENGTH_LONG).show();
}
});
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//Handle action bar item clicks here. The action bar will
//automatically handle clicks on the Home/Up button, so long
//as you specify a parent activity in AndroidManifest.xml.
switch (item.getItemId()) {
case R.id.action_settings:
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
return rootView;
}
}
}
Logcat:
01-14 12:43:11.759 5651-5651/? W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41538ba8)
01-14 12:43:11.759 5651-5651/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.omaxlive.myapplicationtest, PID: 5651
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.omaxlive.myapplicationtest/com.omaxlive.myapplicationtest.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
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)
Caused by: java.lang.NullPointerException
at com.omaxlive.myapplicationtest.MainActivity.onCreate(MainActivity.java:25)
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)
- Kannst du LogCat trace für den Absturz?
- Es scheint, dass Sie die Arbeit in einem fragment. onCreate aufgerufen werden kann, bevor die aktuelle Ansicht erstellt wurde und toast könnte Ihnen ärger auf. Versuchen Sie, Sie zu onCreateView. Wenn nicht, ist es wahrscheinlich eine Referenz problem und Sie brauchen, um zu reinigen Sie Ihr Projekt und legen Sie Ihre Referenzen wieder. Edit: Mein schlechtes, es wird auf das click-Ereignis, damit es nicht ein Kontext-problem, ist es wahrscheinlich mit den Referenzen.
- Was hast du in der MainActivity.java:25 Linie
- line25: mibtn.setOnClickListener(new View.OnClickListener() { ... @Niko
- Sehr seltsam Absturz, vielleicht Android Studio irgendwie kompiliert das Paket falsch, denn es funktioniert mit Eclipse integrierten Paket.
- post xml, in dem Sie den buton
- XML-gepostet @Raghunandan
- xml geschrieben ist
activity_main.xml
. Lesen Sie auch die Vorsicht hier developer.android.com/sdk/installing/studio.html. wenn Sie nicht zufrieden sind mit dem studio zu eclipse wechseln - ist Ihr problem gelöst ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Zeile zeigt, dass die Taste, die Sie erstellt haben, ist in
fragment_main.xml
Aber Sie finden, dass Ihre Schaltfläche in
activity_main.xml
Bewegen Sie Ihren code aus
onCreate()
zuonCreateView
von PlaceholderFragment wieFinden Sie Ihr layout auf:
aber dein layout, das Sie verwenden, ist fragment_main.xml
so ändern
setContentView(R.layout.activity_main);
zusetContentView(R.layout.fragment_main);
und zweitens das löschen dieser code aus Ihrer .java-Datei