我是新來的Android和Java,但我一直在努力,現在一會做到這一點,有一些想法,這可能如何制定一個ListView,但我不知道如何把它的代碼。填充用的密鑰集
我有兩個活動,一個是一個日誌,一個創建一個新的日誌。基本上,當一個用戶創建一個新日誌並保存它時,它將被保存爲一個密鑰集,密鑰是日誌名稱。
然後我想要將新創建的日誌條目添加到另一個活動的列表中。
我只能似乎所有的按鍵組,而不是他們來填充列表中的第一項被添加爲新的項目逐一列出。
我需要的代碼只是爲了在ListView每個項目填充作爲的KeySet的關鍵之一,當用戶點擊它加載的值。
的代碼,我從ActivityLog有:
public void loadLog (View view){
SharedPreferences userInfo = getSharedPreferences("userData", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = userInfo.edit();
String myString = userInfo.getAll().keySet().toString();
String[] values = new String[] { myString
};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.activity_list_item, android.R.id.text1);
Map<String, ?> allEntries = userInfo.getAll();
for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
Log.d("map values", entry.getKey() + ": " + entry.getValue().toString());
listView.setAdapter(adapter);
}}
代碼ActivityNewLog:
public void saveLog (View view){
EditText Date = (EditText)findViewById(R.id.editDate);
EditText Name = (EditText)findViewById(R.id.editName);
EditText Cal = (EditText)findViewById(R.id.editCal);
EditText STime = (EditText)findViewById(R.id.editSTime);
EditText ETime = (EditText)findViewById(R.id.editETime);
EditText Entry = (EditText)findViewById(R.id.editEntry);
try {
SharedPreferences userInfo = getSharedPreferences("userData", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = userInfo.edit();
Set<String> LogSet = new HashSet<String>();
LogSet.add(Date.getText().toString());
LogSet.add(Name.getText().toString());
LogSet.add(Cal.getText().toString());
LogSet.add(STime.getText().toString());
LogSet.add(ETime.getText().toString());
editor.putStringSet(Entry.getText().toString(), LogSet);
editor.commit();
Context context = getApplicationContext();
CharSequence text = "User data saved!";
int duration = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
catch(Exception ex) {
// insert your own error message here
}
}
我將不勝感激任何幫助或建議,以改善該代碼。
爲什麼你需要'Set'而不是'List'? –
我使用了集合,因爲每個集合都保存新日誌屏幕的值,例如日期,名稱,時間等,我需要稍後訪問它們,並且我只是假定集合是最佳選項。 –