【发布时间】:2013-07-25 17:22:35
【问题描述】:
我想知道如何访问列表中的第二项?我的意思是字符串输出这个:
07-17 21:15:38.723: D/MY APP(15806): {feeling=joyful}
但我只希望它读“快乐”
这是我的代码:
公共类 FeelingsMain 扩展 Activity {
private static final String TAG = "MY APP";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initList();
ListView lv = (ListView) findViewById(R.id.pageLayout);
// design the listview with the adapter
SimpleAdapter simpleAdpt = new SimpleAdapter(this, feelingsList,
android.R.layout.simple_list_item_1,
new String[] { "feeling" }, new int[] { android.R.id.text1 });
lv.setAdapter(simpleAdpt);
lv.setOnItemClickListener(viewNeeds);
}
List<Map<String, String>> feelingsList = new ArrayList<Map<String, String>>();
private void initList() {
// populate the feelingsList
feelingsList.add(createFeeling("feeling", "wonderful"));
feelingsList.add(createFeeling("feeling", "content"));
feelingsList.add(createFeeling("feeling", "joyful"));
feelingsList.add(createFeeling("feeling", "tired"));
feelingsList.add(createFeeling("feeling", "gay"));
feelingsList.add(createFeeling("feeling", "sad"));
feelingsList.add(createFeeling("feeling", "amazing"));
}
private HashMap<String, String> createFeeling(String key, String name) {
HashMap<String, String> feeling = new HashMap<String, String>();
feeling.put(key, name);
return feeling;
}
OnItemClickListener viewNeeds = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
// create variable for database input
String feeling = feelingsList.get(arg2).toString();
Log.d(TAG, feeling);
Intent gotoNeeds = new Intent(FeelingsMain.this, Needs.class);
gotoNeeds.putExtra("aFeeling", feeling);
startActivity(gotoNeeds);
}
};
等于感觉列表的字符串感觉给了我问题。是否有一些方法可以让我访问数组的不同部分,get 方法似乎只返回两个元素。
【问题讨论】:
-
...您有一个地图列表,并且您正在将地图转储到给定的索引处。转储地图值。还有,嗯。
-
不要使用 toString ... 将其转换为列表项类 ..
-
通过创建
ArrayListofHashMaps不确定您在做什么。 -
我也没有,我只做了几个星期,在黑暗中磕磕绊绊,休息一下。