gpt4 book ai didi

android - 从 ArrayAdapter 内部打开 ContextMenu

转载 作者:行者123 更新时间:2023-11-30 03:50:44 25 4
gpt4 key购买 nike

我的自定义 ArrayAdapter 中的 getView 方法中有一个 setOnClickLisnter 方法。

我想要做的是,在 ListView 的每一行内快速单击一个 imageButton,我希望它打开一个上下文菜单。

当您长按 ListView 时,我目前可以使用 ContextMenu。现在我想将相同的功能转移到上面提到的短按。

我在 onCreate 中有这个:

registerForContextMenu(getListView());

我在 Activity 中还有一个 onCreateContextMenu我的主要问题是,如何从 ArrayAdapter 内部访问它?

编辑: 我不必在 setOncLickListner 方法中执行此操作,只需在 getView

中的某处执行此操作

获取 View 的代码:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;

LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

if (convertView == null) {

convertView = inflater.inflate(R.layout.commentlayout, parent,
false);
holder = new ViewHolder();
holder.ib1 = (ImageButton) convertView
.findViewById(R.id.labelChatIcon);


convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
convertView.setOnCreateContextMenuListener(null);
}

holder.ib1.setBackgroundColor(Color.TRANSPARENT);

holder.ib1.setBackgroundColor(Color.TRANSPARENT);
holder.ib1.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

// Open Context Menu here

}
});

return convertView;
}

更新:我想我正在改变我的计划,将使用带有单选按钮的警报对话框。在这种情况下,上下文菜单可能不合适。

最佳答案

您可以使用 Alert.Builder 而不是上下文菜单,您可以使用 builder.setView(View v); 添加自定义 View

你会有一个布局文件,其中包含一堆不同宽度的按钮:match_parent。查看this link对于所有可用的不同选项

关于android - 从 ArrayAdapter 内部打开 ContextMenu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14188909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com