1

右のiveはボタンカウンターを機能させ、クリックすると増加しますが、問題は保存されないため、再度開くと再び新しく開始されます....コードを下に配置しますが、保存機能を追加するのに役立ちます大歓迎です!

package com.example.counter;

import android.app.Activity; import android.os.Bundle; import android.view.View; import         android.view.View.OnClickListener; import android.widget.Button; import     android.widget.TextView;

public class MainActivity extends Activity {

// Private member field to keep track of the count
private int mCount = 0;

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

final TextView countTextView = (TextView) findViewById(R.id.TextViewCount);
final Button countButton = (Button) findViewById(R.id.ButtonCount);

countButton.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        mCount++;
        countTextView.setText("Count: " + mCount);
    }
});

}
}

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"
tools:context=".MainActivity" >

<TextView
    android:id="@+id/TextViewCount"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="@string/hello_world" />

<Button
    android:id="@+id/ButtonCount"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/ButtonCount"
    android:layout_alignRight="@+id/ButtonCount"
    android:layout_marginBottom="61dp"
    android:text="Count" />

</RelativeLayout>
4

2 に答える 2

0

onPauseメソッドをオーバーロードし、SharedPreferencesクラスを使用して変数を保存します。また、onResumeメソッドをオーバーロードして、その値をmCountに再ロードする必要があります。

読んでください:http://developer.android.com/training/basics/activity-lifecycle/pausing.html

public static final String PREFS_NAME = "com.example.myApp.mCount";
private SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
private SharedPreferences.Editor editor = settings.edit();

@Override
public void onPause() {
    super.onPause();  // Always call the superclass method first
    mCount = settings.getInt("mCount", 0);
}

@Override
public void onResume() {
    super.onResume();  // Always call the superclass method first
    editor.putInt("mCount", mCount);
    editor.commit();
}
于 2013-02-10T14:16:34.113 に答える
0

このリンクはあなたを助けます。データを保存する最も簡単な方法 http://developer.android.com/guide/topics/data/data-storage.html#pref

onCreateでカウンターデータを読み取り、onPauseで保存して、ユーザーがアプリを再度開いたときに正常に復元されるようにします。詳細については、http://developer.android.com/reference/android/app/Activity.htmlをご覧ください。

ボタンがクリックされるたびにカウンターを保存しないでください。単純なタスクで過剰なI/Oが発生し、バッテリーが消耗します。

于 2013-02-10T14:17:24.737 に答える