経験の浅いAndroidプログラマーとして、私はいくつかの助けが必要です。私はこのアプリを、祈りのリクエストを記録できるアクティビティを必要とする教会向けに設計しています(やることリストを作成するのと同様です)。この時点で、アイテムをリストに入力できますが、下からの共有設定の抜粋を使用して閉じた後、保存して戻ってこないようです。また、このサイトを見回すと、物理的なボタンを押さなくてもこれを実行できるようです。保存する。
SharedPreferences prayerRequests = getPreferences(Activity.MODE_PRIVATE);
ListView myListViewa = (ListView)findViewById(R.id.myListView);
SharedPreferences.Editor editor = prayerRequests.edit();
editor.putString("prayers", myListViewa.toString());
editor.apply();
クラス全体はここにあります:
package com.direction.investor.prayerjournal;
import java.util.ArrayList;
import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
public class prayerRequests extends Activity {
@TargetApi(Build.VERSION_CODES.GINGERBREAD)
public void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.prayerrequest);
ListView myListView = (ListView)findViewById(R.id.myListView);
final EditText myEditText = (EditText)findViewById(R.id.myEditText);
final ArrayList<String> prayers = new ArrayList<String> ();
final ArrayAdapter<String> aa;
aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, prayers);
myListView.setAdapter(aa);
SharedPreferences prayerRequests = getPreferences(Activity.MODE_PRIVATE);
ListView myListViewa = (ListView)findViewById(R.id.myListView);
SharedPreferences.Editor editor = prayerRequests.edit();
editor.putString("prayers", myListViewa.toString());
editor.apply();
myEditText.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN)
if ((keyCode == KeyEvent.KEYCODE_DPAD_CENTER) ||
(keyCode == KeyEvent.KEYCODE_ENTER)) {
prayers.add(0, myEditText.getText().toString());
aa.notifyDataSetChanged();
myEditText.setText("");
return true;
}
return false;
}
});
}
}