【问题标题】:Getting value of ListView TextView获取 ListView TextView 的值
【发布时间】:2012-06-19 22:43:39
【问题描述】:

我有这个 ListView 设置:

        ListView listView = getListView();
        listView.setTextFilterEnabled(true);

        listView.setOnItemClickListener(new OnItemClickListener() {

            public void onItemClick(AdapterView<?> arg0, View arg1,
                    int arg2, long id) {

                //

                Intent i = new Intent(getApplicationContext(), Rate.class);
                startActivity(i);

            }
        });

        setListAdapter(new ArrayAdapter<String>(Items.this, R.layout.list,
                items));

如您所见,它是一个标准的 ListView。每行都有一个填充了列表“项目”的 TextView。我从 MySQL 数据库中提取它并通过 JSON 循环输出。

我只是希望能够单击具有单个名称的行,然后将该名称作为字符串传递给 Rate.class 活动。我怎样才能在代码中做到这一点?

【问题讨论】:

    标签: android mysql listview android-arrayadapter


    【解决方案1】:

    将 putExtra 添加到您的意图中(见下文)。我假设您将列表“项目”作为活动的成员,arg2 参数基本上是列表中单击的项目的索引,您可以使用它从“项目”列表中获取名称。

            public void onItemClick(AdapterView<?> arg0, View arg1,
                    int arg2, long id) {
    
                //
    
                Intent i = new Intent(getApplicationContext(), Rate.class);
                i.putExtra("name", items.get(arg2));
                startActivity(i);
    
            }
    

    【讨论】:

    • 完美!我没有意识到 arg2 是索引,可以变成字符串。
    【解决方案2】:

    您可以创建一个特定的数组适配器实例,而不仅仅是创建一个传递给函数。然后在OnItemClick() 函数中,int arg2 是用户选择的数组适配器中的索引。您可以从数组适配器中获取视图,并从文本视图中获取 getText()。

    【讨论】:

      【解决方案3】:

      传递给 onItemClick 的东西之一是被点击的视图:

      将视图转换为适当的类型并在其上调用getText();例如:

      final String text = ((TextView)view).getText();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多