当前位置: 首页 > 知识库问答 >
问题:

如何通过单击按钮在列表视图中获取选定的项目

何建中
2023-03-14

我有一个带有textView的列表视图,每行都有一个按钮,我试图通过单击按钮而不是通过单击整行来获取文本view方法:(AdapterView arg0,View v,int position,long arg3)不适用于按钮单击。

public View getView(int position, View convertView, ViewGroup parent) {
        //Set the view for each item in the list view
        View v = convertView;
        if (v == null) {
            LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.employeeitem, null);
        }
        //Get the Textviews from the row view and set the appropriate values for them
        TextView labelName=(TextView) v.findViewById(R.id.labelName);
        TextView labelAddress=(TextView)v.findViewById(R.id.labelAddress);
        TextView labelImmat=(TextView)v.findViewById(R.id.labelImmat);
        labelName.setText(array[position].marque);
        labelAddress.setText(array[position].categorie);
       labelImmat.setText(array[position].Prix_Achats);
        return v;
    }

这就是我如何通过单击列表视图的行来选择项目,但是,我想通过单击按钮而不是整行来选择项目:

listEmployeeDetails.setOnItemClickListener(new OnItemClickListener(){

           public void onItemClick(AdapterView<?> arg0, View v,int position, long arg3)
     {

             TextView tv=(TextView)v.findViewById(R.id.labelName);
             String name=tv.getText().toString();


             Toast.makeText(getApplicationContext(), "Contact Selected "+name, Toast.LENGTH_LONG).show();
     }
    });

共有3个答案

师冥夜
2023-03-14

通过单击按钮从textview获取文本

    btn.setTag(textView.getText().toString());
btn.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub


        String s =(String)v.getTag();


    }
});
韶兴德
2023-03-14

您可以为按钮设置一个标签以从getView()方法访问它。当您以编程方式或通过xml声明项目时,您可以在标签中存储该项目的文本。

public View getView(int position, View convertView, ViewGroup parent) {
    //Set the view for each item in the list view
    View v = convertView;
    //Do your view stuff here
    Button btn = (Button)v.findViewById(R.id.your_button_id);
    btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            String str = (String)v.getTag();
            //Do whatever you want with your str here
        }
    });
    return v;
}
杨研
2023-03-14

将 onClickListener 设置为您的按钮:

Button button = (Button) getActivity().findViewById(R.id.button);

button.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
       // button was clicked
    }

});
 类似资料:
  • 我有一个从适配器展开的列表视图。当我点击其中一个按钮时,我得到了错误的项目。在我添加了< code>whatsApp按钮之前,它一直工作正常。 这是我的适配器: 在代码中添加了一个onClickListener,如果按下waze按钮,它将检查位置,如果按下whatsapp按钮,则检查名称。这是代码 如何更改此项以获得正确的项目?

  • 公共视图getView(最终int位置,视图转换视图,ViewGroup父){ 这是我的XML文件代码, 我无法取消选中这个单选按钮。我已经发布了我的Java代码和xml代码。感谢提前帮助。

  • 我已经自定义了应用程序中的所有单选按钮,但是listPreference中的单选按钮没有被自定义。 我用了这个名为btn_radio.xml 这是自定义的无线电按钮,它扩展了Android自定义单选按钮 在我的应用程序的主题中,我做了这些更改 此更改自定义我的应用程序中除列表首选项中的单选按钮之外的所有单选按钮

  • 问题内容: 我想获取单选按钮值并将其通过AJAX发送到PHP。 我的AJAX正在运行,但当前正在每行中插入一个,因此它不会从单选按钮中获取值。任何帮助,将不胜感激。 问题答案: 首先,您有很多重复的属性,这是不正确的。请改用类,然后使用选择器来获取所选无线电的特定实例。 试试这个: 以此类推,作为您的其他输入。

  • 我想知道如何选择listview first item select并通过单击按钮自动单击。 使用下面的代码,我可以选择第一行,但无法选择。 这是我的listview点击事件: 非常感谢您的帮助!如果有人想了解更多信息,请务必告诉我,以便我更新我的问题。

  • 我有以下偏好列表。 我想用图像图标替换某些项目的单选按钮。例如,它可能是这样的: 我是列表偏好活动的新手。请给出一些建议?