listview-从listView中获取单独的值

问题描述

从listView中获取单独的值

有一个listView,当点击的时候会显示如下内容:

{first_name=abc, last_name=xyz, id=1, address=kolkata}

但是我希望获取的时候可以根据字符串单独获取。

代码:

onListItemClick监听器

protected void onListItemClick(ListView l, View v, int position, long id)
{
    super.onListItemClick(l, v, position, id);
    Object o = this.getListAdapter().getItem(position);
    String return_data = o.toString();

    Toast.makeText(this,  ""+return_data, Toast.LENGTH_LONG).show();

}

添加全部类,包括列表适配器:

public class showUserInfoListActivity extends ListActivity {

ArrayList<HashMap<String, String>> menuItems = new ArrayList<HashMap<String, String>>();
static final String KEY_ID         = "id";
static final String KEY_FIRST_NAME = "first_name";
static final String KEY_LAST_NAME  = "last_name";
static final String KEY_ADDRESS    = "address";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.add_user_info_list);

    //---get all Records---
    DataBaseAdapter db = new DataBaseAdapter(this);
    db.open();
    Cursor c = db.getAllRecords();
    if (c.moveToFirst())
    {
        do
        {
            HashMap<String, String> map = new HashMap<String, String>();
            // adding each child node to HashMap key => value
            map.put(KEY_ID, c.getString(0));
            map.put(KEY_FIRST_NAME, c.getString(1));
            map.put(KEY_LAST_NAME, " "+c.getString(2));
            map.put(KEY_ADDRESS, c.getString(3));

            // adding HashList to ArrayList
            menuItems.add(map);
        } while (c.moveToNext());
    }
    db.close();

    // Adding menuItems to ListView
    // All filed data are not shown in the list KEY_ID is hidden
    ListAdapter adapter = new SimpleAdapter(this, menuItems,R.layout.user_info_list_item,
                          new String[] { KEY_FIRST_NAME, KEY_LAST_NAME, KEY_ADDRESS, KEY_ID },
                          new int[] {R.id.first_name , R.id.last_name, R.id.address});
    setListAdapter(adapter);
}

//On select from the list show data
protected void onListItemClick(ListView l, View v, int position, long id)
{
    super.onListItemClick(l, v, position, id);
    Object o = this.getListAdapter().getItem(position);
    //String return_data = o.toString();
    MyClass return_data = (MyClass)o;
    Toast.makeText(this,  ""+return_data, Toast.LENGTH_LONG).show();
}

class MyClass{

}
}

解决方案

HashMap map = (HashMap)this.getListAdapter().getItem(position);
String first_name=map.get("first_name");
String last_name=map.get("last_name");
String id=map.get("id");
String address=map.get("address");

我也遇到了同样的问题,我是这么解决的....

时间: 2024-09-22 04:05:05

listview-从listView中获取单独的值的相关文章

spinner-在arrayadapter中获取item的值

问题描述 在arrayadapter中获取item的值 我想从spinner中获取选择项目的值.我使用的是array adapter. <string-array name="my_list"> <item value="">---Select the value from the List---</item> <item value="value1">data1</item> <

android-如何在dialog中获取edittext的值

问题描述 如何在dialog中获取edittext的值 代码如下,这样获取edittext.gettext().tostring()值总为空,该怎么改呢? final View viewDialog=(View)getLayoutInflater().inflate(R.layout.ad_dialog,null); new AlertDialog.Builder(Ad_Delete.this).setTitle("请输入删除数量(不能大于现有本数)") .setView(getLay

怎么在controller中获取radiobutton的值

问题描述 怎么在controller中获取radiobutton的值 <tr class=""row""> <td class=""coloum"">性别</td> <td class=""coloum""> <p>@Html.RadioButton(""radio""male"

function-jquery 如何从函数中获取单选框值

问题描述 jquery 如何从函数中获取单选框值 例如: function aa(date){ <input type='radio' name='" + data.question_id + "' value='" + data.answer_id + "'> } jquery如何获取函数中的单选框值 解决方案 从函数中获取单选框的值 这个问题太奇葩了! 解决方案二: $("input[name='" +data.question_

JavaScript中获取HTML元素值的三种方法_javascript技巧

JavaScript中取得元素的方法有三种:分别是: 1.getElementById() 方法:通过id取得HTML元素. 2.getElementsByName()方法:通过name取得元素,是一个数组. 3.getElementsByTagName()方法:通过HTML标签取得元素,是一个数组. 如果要取得值可以使用value,如:var x=document.getElementById("id").value; 方法一:getElementById() 方法可返回对拥有指定

jQuery中获取Radio元素值的方法

又发现自己写的JavaScript代码在FireFox下运行出错,原因很郁闷,在获取一个Radio元素的值的时候只得到了 undefind. 谷歌了一下,大多跟我用的方法是一样的 复制代码 代码如下: var value = $("input[name='radio1'][type='radio'][checked]").val(); 这句在IE.Safari(3.2)下测试通过,但是在FireFox.Chrome下却得不到选中的值. 仔细再看手册,发现"表单对象属性&quo

jQuery中获取Radio元素值的方法_jquery

又发现自己写的JavaScript代码在FireFox下运行出错,原因很郁闷,在获取一个Radio元素的值的时候只得到了 undefind.谷歌了一下,大多跟我用的方法是一样的 复制代码 代码如下: var value = $("input[name='radio1'][type='radio'][checked]").val(); 这句在IE.Safari(3.2)下测试通过,但是在FireFox.Chrome下却得不到选中的值.仔细再看手册,发现"表单对象属性"

jquery中获取select选中值的代码_jquery

jquery获取select选择的文本与值 获取select 选中的 text : $("#ddlregtype").find("option:selected").text(); 获取select选中的 value: $("#ddlregtype ").val(); 获取select选中的索引: $("#ddlregtype ").get(0).selectedindex;

winform-C# 如下是lable控件绑定,在onclick事件中如何获取i的值

问题描述 C# 如下是lable控件绑定,在onclick事件中如何获取i的值 for (int i = 0; i < dt.Rows.Count; i++) { text += dt.Rows[i]["G_Title"].ToString(); } lable1.text=text; 解决方案 for (int i = 0; i < dt.Rows.Count; i++) { text += dt.Rows[i]["G_Title"].ToString