Markenunterschied

L

Linienbusfahrer

Neues Mitglied
0
Hallo,

mir ist aufgefallen, dass genau der selbe Code (es wird nur ein Button mit Listener erzeugt) auf dem HTC One M8 funktioniert, aber nicht auf dem Samsung Galaxy Note 3, obwohl beide Geräte auf 4.4 laufen.
Woran kann das liegen?

MfG
Linienbusfahrer
 
Zeig mal deinen Code.
Und was heißt er funktioniert auf dem Galaxy nicht?
Hast du eine Fehlermeldung dazu?
 
Code:
package com.example.exit;

import android.support.v7.app.ActionBarActivity;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;

public class MainActivity extends ActionBarActivity {
	

	private Button beendenB;
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();
        }
        
        beendenB = (Button) findViewById(R.id.button1);
        beendenB.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				System.exit(0);
			}
		});
        
        
    }


    @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.
        int id = item.getItemId();
        if (id == 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;
        }
    }

}

Code:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.exit.MainActivity"
    tools:ignore="MergeRootFrame" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Ich beende das Programm!" />

</FrameLayout>

Wenn ich das Programm auf dem Galaxy ausführe, öffnet es sich zwar, aber wenn ich den Button drücke passiert nichts. Es stürtzt aber nicht ab und signalisiert mir auch, dass er gedrückt worden ist.
 
Hmm schätze irgendwie es liegt an System.exit(0); ...

Versuch mal:
Code:
 android.os.Process.killProcess(android.os.Process.myPid());
oder:
Code:
MainActivity.this.finish();
falls du nur die MainActivity schließen willst

LG
Xilent
 
Es funktioniert trotzdem nicht. Ich glaube der OnClickListener reagiert entweder nicht oder er wird garnicht gesetzt.
 
Hmm...

Kannst du ja mal Testen in dem du Log.d in den Listener einbaust:
Code:
        beendenB.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
                                Log.d("Button Test","Button pressed!");
				System.exit(0);
			}
		});
Wenn du dann in LogCat die Nachricht siehst funktioniert der Listener
 
Es wird dann nichts ausgegeben!?!
 
Kommt gar kein Error in LogCat?
Garnichts?

Verwundert mich gerade..

Sonst vllt mal mit der Implementation via XML versuchen:
Code:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.exit.MainActivity"
    tools:ignore="MergeRootFrame" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:onClick="beendenB"
        android:text="Ich beende das Programm!" />

</FrameLayout>
und dann in der Activity folgenden Code ergänzen:
Code:
public void beendenB (View view) {
                                Log.d("Button Test","Button pressed!");
				System.exit(0);
}

LG
Xilent
 
Es passiert immer noch nichts, aber als ich

Code:
beendenB.setAllCaps(true);

zwischen

Code:
beendenB = (Button) findViewById(R.id.button1);
        beendenB.setAllCaps(true);
        beendenB.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				System.exit(0);
			}
		});

in der onCreate() Methode eingefügt habe, hat sich der Text auf dem Smartphone nicht verändert. (Auf dem Emulator schon)
 
Zurück
Oben Unten