Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Activity über Button aufrufen

Das Thema "Activity über Button aufrufen" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 21.05.2011, 12:25   #1 (permalink)
Neuer Benutzer

Registriert seit: 21.05.2011
Beiträge: 8
Abgegebene Danke: 0
Erhielt 4 Danke für 2 Beiträge
Standard Activity über Button aufrufen

Hallo

Habe seit Kurzem angefangen, mich mit der Android Entwicklung zu beschäftigen und habe nun mein erstes eigenes Projekt begonnen zu schreiben.

Nun habe ich das Problem, dass auf Knopfdruck eine neue Activity gestartet werden soll und dabei aber ein Force Close entsteht. Habe sowohl versucht, die die Klasse mit onclicklistener zu implementerieren als auch zuletzt mit androidnclick in der xml. Ich hoffe jemand hat kurz Zeit drüber zu schauen und kann mir helfen.

Code:
package de.kalorien.rechner;





import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.Button; 
import android.view.View.OnClickListener;


public class FormularActivity extends Activity  {
    
	
	
	  public static final String sKohlehydrate = "kohlehydrat";
	 
	
	  public static final String sEiweiss = "eiweiss";
	  
	 
	  public static final String sFett = "fett";

	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        
    }
    
   

	public void onClick (View v) {
		
		EditText txtKohle = (EditText) findViewById(R.id.edit_Kohle);
		EditText txtEiweiss = (EditText) findViewById(R.id.edit_Eiweiss);
	 	EditText txtFett = (EditText) findViewById(R.id.edit_Fett); 
    	
		final double Kohlehydrate = Double.parseDouble(txtKohle.getText().toString());
    	final double Eiweiss = Double.parseDouble(txtEiweiss.getText().toString());
    	final double Fett = Double.parseDouble(txtFett.getText().toString());
		
    	 
    			final Intent intent = new Intent(this, ErgebnisActivity.class);
    	
    
    	        intent.putExtra(sKohlehydrate, Kohlehydrate);
    	        intent.putExtra(sEiweiss, Eiweiss);
    	        intent.putExtra(sFett, Fett);
    	        
    	     
    	       this.startActivity(intent);
    	        
	}
    }
Code:
package de.kalorien.rechner;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.Button;
import android.widget.TextView;

public class ErgebnisActivity extends Activity{
	
	
	public void onCreate(Bundle icicle){
		super.onCreate(icicle);
		setContentView(R.layout.ergebnis_anzeigen);
		
		
		
		final Bundle extras = getIntent().getExtras();
		
		if(extras != null){
			final Ergebnis ergebnis = new Ergebnis();
			
			ergebnis.Kohlehydrate = extras.getDouble(FormularActivity.sKohlehydrate);
			ergebnis.Eiweiss = extras.getDouble(FormularActivity.sEiweiss);
			ergebnis.Fett = extras.getDouble(FormularActivity.sFett);
			
			zeigeErgebnis(ergebnis);
		}
	}
		private void zeigeErgebnis(Ergebnis ergebnis){
			setTitle("Ergebnis");
			
			ergebnis.berechneKalorien();
			
			final TextView txtKohlehydrate = (TextView) findViewById(R.id.tv_Kohlehydrate);
			txtKohlehydrate.setText(String.valueOf(ergebnis.Ergebnis[0]));
			
			final TextView txtEiweiss = (TextView) findViewById(R.id.tv_Eiweiss);
			txtEiweiss.setText(String.valueOf(ergebnis.Ergebnis[1]));
			
			final TextView txtFett = (TextView) findViewById(R.id.tv_Fett);
			txtFett.setText(String.valueOf(ergebnis.Ergebnis[2]));
			
			final TextView txtErgebnis = (TextView) findViewById(R.id.tv_Ergebnis);
			txtErgebnis.setText(String.valueOf(ergebnis.Ergebnis[3]));
		}

}
Main.xml

Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="Bitte geben Sie die Menge an Kohlehydraten, Eiweiss und Fetten ein"
    />
<EditText android:text="" android:inputType="numberDecimal" android:layout_width="fill_parent" android:id="@+id/edit_Kohle" android:layout_height="70dip"></EditText>
<EditText android:text="" android:layout_width="fill_parent" android:id="@+id/edit_Eiweiss" android:inputType="numberDecimal" android:layout_height="70dip"></EditText>
<EditText android:text="" android:layout_width="fill_parent" android:id="@+id/edit_Fett" android:inputType="numberDecimal" android:layout_height="70dip"></EditText>
<Button android:layout_width="fill_parent" android:text="@string/buttontext" android:layout_height="wrap_content" android:layout_gravity="center" android:id="@+id/button" android:onClick="onClick"> ></Button>
</LinearLayout>
Wenn weitere Quelldateien benötigt werden, kann ich diese noch einbinden.

Vielen Dank schonmal.

Gruß
Koltanius ist offline   Mit Zitat antworten
Alt 21.05.2011, 12:44   #2 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Activity über Button aufrufen

1) es gibt gefühlte 100 threads die genau das behandeln.

2) android.developer.com hilft dir immer weiter

3) hier gibt es keine hellseher, aber ich vermute mal du hast die ErgebnisActivity nicht im Manifest eingetrage
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 21.05.2011, 15:20   #3 (permalink)
Neuer Benutzer

Registriert seit: 21.05.2011
Beiträge: 8
Abgegebene Danke: 0
Erhielt 4 Danke für 2 Beiträge
Standard AW: Activity über Button aufrufen

Naja es ist ja nicht so, dass ich zu faul bin, mir threads und tutorials anzugucken. Das habe ich bereits seit gefühlten Stunden getan und bin mir durchaus bewusst, welche Möglichkeiten es gibt, mein Vorhaben zu realisieren. Hab es sowohl mit dem onclicklistener als auch implements onclicklistener und nun mit dem direkten Zuweisen von onclick in der xml versucht. Doch wie geagt bekomme ich es einfach nicht hin und daher wende ich mich ans Forum an erfahrene Leute, die vielleicht einen Fehler sehen und mir eventuell helfen können/möchten.

Die Activity ist übrigends in der Manifest eingetragen:

Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="de.kalorien.rechner"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="7" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".FormularActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
		<activity android:name=".ErgebnisActivity" /> 
    </application>
</manifest>
Koltanius ist offline   Mit Zitat antworten
Alt 21.05.2011, 16:19   #4 (permalink)
Android Experte
 
Benutzerbild von DieGoldeneMitte

Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
Standard AW: Activity über Button aufrufen

Im LogCat findest Du eine Fehlermeldung, die dir sagt, an welcher Stelle im Code die Exception geworfen wird, die zu dem FC führt.

Aber offen gesagt ist Dein Code insgesamt sehr .... merkwürdig. Für ein einfaches Formular, das auf Knopfdruck eine einfache Rechnung ausführt, brauchst du Activities (außer natürlich die für das "Hauptprogramm") eigentlich nicht. Setze in dem Button einen onClickListener, in *dessen* onClick() die Berechnung durchgeführt wird. Das findet alles in deiner Formularactivity statt.
__________________
Kein Support via PN/eMail. Bitte das Forum benutzen - dort haben alle etwas davon.
Bei Entwicklerfragen zu abstürzenden Apps bitte immer die Ausgabe von LogCat posten.
Tipp: Zum "Danke" sagen gibt es einen Button.

Geändert von DieGoldeneMitte (21.05.2011 um 16:27 Uhr)
DieGoldeneMitte ist offline   Mit Zitat antworten
Alt 21.05.2011, 20:50   #5 (permalink)
Neuer Benutzer

Registriert seit: 21.05.2011
Beiträge: 8
Abgegebene Danke: 0
Erhielt 4 Danke für 2 Beiträge
Standard AW: Activity über Button aufrufen

Ok hab es hinbekommen. Habe in den button nun einen OnCklickListener gesetzt und die Berechnung wie angemerkt, in die FormularActivity gelegt.

Danke für die Hilfe.

Gruß
Koltanius ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Apps über Home Button endgültig schließen Johnson7 Android Allgemein 25 08.05.2011 20:25
übergreifend Activity aufrufen?? TanaH Android App Entwicklung 4 12.04.2011 08:42
Activity und Button Benedd Android App Entwicklung 5 11.02.2011 21:08
Wert an Activity B von Activity B übergeben Beni Android App Entwicklung 16 16.09.2010 15:05
Startseite seit 2.2 nicht mehr über Startseiten-Button erreichbar geggesfili HTC Desire Forum 2 08.08.2010 18:16




Du liest gerade: "Activity über Button aufrufen" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.