Dav*_*son 8 android listview listview-adapter
如何从适配器位置获取值,我的代码如下:
CategoriesXmlParser categoryXmlParser = new CategoriesXmlParser();
List<HashMap<String, Object>> categories = null;
try {
categories = categoryXmlParser.parse(reader);
} catch (Exception e) {
Log.d("Exception", e.toString());
}
String[] from = { "name", "image" };
int[] to = { R.id.nama_category, R.id.logo_category };
final SimpleAdapter adapter = new SimpleAdapter(getBaseContext(),
categories, R.layout.per_item_category, from, to);
mListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Object obj = mListView.getAdapter().getItem(position);
String value = obj.toString();
Log.d("MyLog", "Value is: "+value);
String name = // how code to get name value.
}
});
Run Code Online (Sandbox Code Playgroud)
如果我把它记录在MyLog中的logcat上我得到:
值为:{position = 12,image_path = http://192.168.103.121/xml/icon.png,link = http://192.168.103.121/xml/category.php?kat_id=13,name = Category 13}
所以我的问题是,我想从name获取值并存储到变量String name,我想在String名称中得到"Category 13".因为我想将它传递给另一个活动.
小智 34
看起来你用hashmap创建了对象,比如blablabla.put("name","value")?? 如是.试试这个:
mListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Object obj = mListView.getAdapter().getItem(position);
String value = obj.toString();
Log.d("MyLog", "Value is: "+value);
String name = // how code to get name value.
}
});
Run Code Online (Sandbox Code Playgroud)
改成:
mListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
HashMap<String, Object> obj = (HashMap<String, Object>) adapter.getItem(position);
String name = (String) obj.get("name");
Log.d("Yourtag", name);
}
});
Run Code Online (Sandbox Code Playgroud)
小智 6
value = value.substring(value.indexOf("name=")+5,value.length()-1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58515 次 |
| 最近记录: |