我在我的Custom ArrayAdapter的getView
方法中有一個setOnClickLisnter
方法。從ArrayAdapter中打開ContextMenu
我想要做的就是在ListView
的每一行內單擊一個imageButton
,我希望它打開一個ContextMenu。
我現在有ContextMenu工作,當你長時間點擊ListView
。現在我想將相同的功能移到上面提到的簡短點擊。
我有這個我onCreate
內:
registerForContextMenu(getListView());
我也有一個onCreateContextMenu
的活動中。 我的主要問題是,您如何從ArrayAdapter
內部訪問此內容?
編輯:我沒有做這樣的setOncLickListner
方法裏面,只是在getView
代碼getView的地方:
@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;
}
更新:我想我改變我的計劃並將使用帶單選按鈕的警報對話框。在這種情況下,上下文菜單可能不合適。 match_parent:
如何對ArrayAdapter進行子分類,使其具有Activity屬性。您在創建適配器時將其傳遞給活動引用(即活動引用)。然後你在活動中調用該方法。這是你想要的? – EJK
我沒有想過這樣做。現在,我的'ArrayAdapter'是它自己的類。目前,我想先看看是否有解決方案。 – KickingLettuce