Daten bei OnClick in SharedPreferences speichern

  • Antworten:3
Laire
  • Forum-Beiträge: 71

19.05.2012, 03:10:02 via Website

Hallo,

ich fange gerade an mich in Java und in die Android Programmierung reinzufuchsen. Nun stecke ich fest :(

Also ich habe in meinem Layout zwei Eingabefelder und ein Button zum Absenden definiert:

1<?xml version="1.0" encoding="utf-8"?>
2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="fill_parent"
4 android:layout_height="fill_parent"
5 android:orientation="horizontal" >
6
7 <EditText android:id="@+id/login_field"
8 android:layout_width="wrap_content"
9 android:layout_height="wrap_content"
10 android:hint="@string/login" />
11
12 <EditText android:id="@+id/password_field"
13 android:layout_width="wrap_content"
14 android:layout_height="wrap_content"
15 android:hint="@string/password" />
16
17 <Button android:id="@+id/button_send"
18 android:layout_width="wrap_content"
19 android:layout_height="wrap_content"
20 android:text="@string/button_send"
21 android:onClick="saveLogin" />
22</LinearLayout>

Wenn man jetzt auf den Button klickt soll er ja die Aktion ausführen die in der .java Datei definiert wird. Zum Ausprobieren sieht diese zur Zeit bei mir so aus (sehr übersichtlich):

1package de.bodmann.ias;
2
3import android.app.Activity;
4import android.content.SharedPreferences;
5import android.os.Bundle;
6import android.text.TextUtils;
7
8public class InteractiveStoriesActivity extends Activity {
9 /** Called when the activity is first created. */
10 @Override
11 public void onCreate(Bundle savedInstanceState) {
12 super.onCreate(savedInstanceState);
13
14 public void saveLogin("","") {
15 loginSave = getSharedPreferences("prefs", MODE_PRIVATE);
16 loginSave.edit().putString("login", login_field);
17 loginSave.edit().putString("pass", password_field);
18 loginSave.edit().commit();
19 }
20
21
22 setContentView(R.layout.main);
23 }
24}

Aber so wie dargestellt funtioniert es leider nicht, und ich weiß nicht warum. Eclipse gibt als Fehleranmerkung:

Multiple markers at this line
- Syntax error on tokens, delete these
tokens
- void is an invalid type for the variable
saveLogin
- Syntax error on token "(", = expected

Hoffe es kann mir wer helfen.

Antworten
Markus B.
  • Forum-Beiträge: 636

19.05.2012, 10:07:41 via App

Hi, deine saveLogin Methode ist falsch. Dort muss eine android.view.View rein. Genau das sagt dir auch die Fehlermeldung.

Gruß,
Markus

Antworten
Aeefire
  • Forum-Beiträge: 172

19.05.2012, 17:23:44 via Website

public void saveLogin("","")

ist ziemlicher stumpfsinn :) du musst ja auch den parameter typ angeben und ne variable dazu...... 2 leerstrings gehen nicht.

Antworten
Laire
  • Forum-Beiträge: 71

19.05.2012, 19:10:40 via Website

Hab es jetzt mit view hinbekommen.

Aeefire

Antworten