如何解决确定一个按钮点击列表视图android
我使用扩展 ListView
的自定义适配器创建了一个 ArrayAdapter<String>
。我需要在点击 ArrayList
按钮时将项目名称添加到 +
。
解决方法
您可以像往常一样(如在 MainActivity
中),只需在 GetView(...)
中链接
在您的 ArrayAdapter.java 中,添加以下内容:
private OnItemClickListener mListener;
public interface OnItemClickListener
{
void onAddClick(int position);
}
public void setOnItemClickListener(OnItemClickListener listener)
{
mListener = listener;
}
在同一文件中的 Holder 函数中,执行以下操作:
AddButtonVariable.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(listener != null)
{
int position = getAdapterPosition();
if(position != ListView.NO_POSITION)
{
listener.onAddClick(position);
}
}
}
});
在 Activity.java 文件的 onResponse 函数中,在 setAdapter 之后添加以下内容:
listAdapter.setOnItemClickListener(new ArrayAdapter.OnItemClickListener() {
@Override
public void onAddClick(int position){
functiontoAdd(String.valueOf(position));
}
});
现在,最后,在您的 Activity.Java 文件的末尾(在类的结束括号之前),添加以下内容:
private void functiontoAdd(String position)
{
// rest of the code to add item in cart
}
看,使用 Recycler 视图而不是列表视图更简单。但是如果你已经创建了也可以。
,listview.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> adapter,View v,int position,long id)
{
//I am assuming the ArrayAdapter is having list of dish name as string if the list is of Custom class please change the below code as per it.
String dish = (String)adapter.getItemAtPosition(position);
}
});
adapter AdapterView:发生点击的 AdapterView。
view View:被点击的 AdapterView 中的视图(这将是适配器提供的视图)
position int:视图在适配器中的位置。
id long:被点击的项目的行 ID。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。