これが私がやろうとしていることです:-SharedPreferencesオブジェクト(User#、Name)からキーと値のペアのマップを取得します-私ができるようにそれらのキーと値のペアをArrayListに書き込みます-それらを使用してListViewにデータを入力します次のように、キーと値の両方を含む各行:
ユーザー1-ジョーR。
ユーザー2-フランクB。
等
更新:SimpleAdapterクラスをよく見て、より賢明で知識豊富な人々と話をした後、私は以前よりもずっと近くにいます...しかし、まだずっとそこにいるわけではありません。
これが私が今持っているものです:
public class LogHistory extends ListActivity {
static final ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
private static final String KEY = null;
private static final String VALUE = null;
public void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.log_history);
SharedPreferences logPrefs = getSharedPreferences(LoginField.PREFSNAME, 0);
Map<String, ?> logMap = logPrefs.getAll();
for (Map.Entry<String, ?> e : logMap.entrySet()) {
HashMap<String, String> row = new HashMap<String, String>();
String mKey = e.getKey();
String mValue = (String) e.getValue();
row.put(KEY, mKey);
row.put(VALUE, mValue);
list.add(row);
// FOR DEBUGGING PURPOSES
makeToast(mKey);
makeToast(mValue);
}
SimpleAdapter adapter = new SimpleAdapter(
this,
list,
R.layout.list_item,
new String[] { KEY, VALUE },
new int[] {R.id.item1, R.id.item2}
);
setListAdapter(adapter);
この種の作業は機能しますが、途中です...結果として得られるのは、両方の列の値のリストです...
ただし、makeToast関数はKEYとVALUEの両方に適切な値を返すため、問題はSimpleAdapterメソッドにある必要があります。
援助は素晴らしいでしょう-宿題は今夜の予定です!:-0