【发布时间】:2012-02-15 21:42:17
【问题描述】:
首先 - 对不起我的英语;)我正在为 Android 编写配置文件管理器,我想从几个 SharedPreferences 文件中获取 getString 并创建 listView。这是我的代码的一部分:
private static final String PN = "profile_name";
private EditTextPreference editText;
private SharedPreferences preferences;
public class Profile_Preferences extends PreferenceActivity {
...
private void SavePreferences() {
String text= editText.getText().toString();
preferences = getSharedPreferences("Profile_" + text, Activity.MODE_PRIVATE); //Here we created SharedPreferences file with name "Profile_"+ this what user write in editText
SharedPreferences.Editor preferencesEditor = preferences.edit();
preferencesEditor.putString(PN, editText.getText());
preferencesEditor.commit();
好的。用户正在做一些配置文件,所以我们有文件,例如:Profile_home.xml、Profile_work.xml、Profile_something.xml。现在我不想使用该文件中的配置文件名称创建 listView。这是我的下一个活动:
public class Tab_profiles extends ListActivity {
ArrayList<String> listItems = new ArrayList<String>();
ArrayAdapter<String> adapter;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice, listItems);
setListAdapter(adapter);
...
public void LoadList() {
//It's a good idea to getString "profile_name" form every xml file with name "Profile_" + "" ?
preferences = getSharedPreferences("Profile_"+ "", Activity.MODE_PRIVATE);
String take_profile_name = preferences.getString("profile_name", null);
listItems.add(take_profile_name );
adapter.notifyDataSetChanged();
}
但这不起作用... logcat 日志:
FATAL EXCEPTION: MAIN
java.land.Null.PointerException
at android.widget.ArrayAdaper.createViewFromResource(ArrayAdapter.java:355)
...
我现在不知道这是错的......
请帮助我:)感谢您的任何回答,并对我在写作和代码方面的错误表示歉意;)
【问题讨论】:
标签: android listview sharedpreferences profiles getstring