0

我的应用程序中只有一个编辑文本,我想在单击按钮时从中存储字符串数组。就像任何浏览器的历史一样。我想在我的应用程序启动时显示存储的字符串。我一直在尝试将共享首选项与单个 textview 一起使用。我附上了我的活动的代码。

public class MainActivity extends Activity {

Button insert;
EditText edt;
TextView txt1, txt2, txt3, txt4, txt5;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    edt = (EditText) findViewById(R.id.search_word);

    txt1 = (TextView) findViewById(R.id.txt1);

    insert = (Button) findViewById(R.id.insert);
    insert.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            SharedPreferences app_preferences = PreferenceManager
                    .getDefaultSharedPreferences(MainActivity.this);
            SharedPreferences.Editor editor = app_preferences.edit();
            String text = edt.getText().toString();
            editor.putString("key", text);
            editor.commit();
            Toast.makeText(getBaseContext(), text, Toast.LENGTH_SHORT)
                    .show();
        }
    });
}

@Override
protected void onStart() {
    // TODO Auto-generated method stub
    super.onStart();

    SharedPreferences app_preferences = PreferenceManager
            .getDefaultSharedPreferences(this);
    String text = app_preferences.getString("key", "null");
    txt1.setText(text);
}

}

我只有一个文本视图正在填充,我想使用它显示最近五个搜索历史。请给我一些想法。

4

1 回答 1

0

序列化您的数据。Array -> String 和 String 可以保存到首选项,也许使用 JSON 来编码/解码您的数据。 http://developer.android.com/reference/org/json/JSONObject.html http://www.json.org/

于 2012-09-10T08:55:48.803 回答