| |||||||
Das Thema "Activity über Button aufrufen" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 21.05.2011
Beiträge: 8
Abgegebene Danke: 0
Erhielt 4 Danke für 2 Beiträge
| 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 android nclick 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]));
}
} 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> Vielen Dank schonmal. Gruß |
| | |
| | #2 (permalink) |
| Android Guru Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
|
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 ) |
| | |
| | #3 (permalink) |
| Neuer Benutzer Registriert seit: 21.05.2011
Beiträge: 8
Abgegebene Danke: 0
Erhielt 4 Danke für 2 Beiträge
|
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> |
| | |
| | #4 (permalink) |
| Android Experte Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
|
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) |
| | |
| | #5 (permalink) |
| Neuer Benutzer Registriert seit: 21.05.2011
Beiträge: 8
Abgegebene Danke: 0
Erhielt 4 Danke für 2 Beiträge
|
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ß |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| 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 |