如何打开菜单上下文的Andr​​oid在列表视图适配器点击按钮? [英] How to open Menu Context Android with click button in listview adapter?

查看:259
本文介绍了如何打开菜单上下文的Andr​​oid在列表视图适配器点击按钮?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何打开菜单上下文的Andr​​oid与点击按钮,在列表视图适配器?

How to open Menu Context Android with click button in listview adapter ?

我想用我的code,但不显示菜单背景下,

I tried with my code, but not show the menu context,

code

 public View getView(int position, View convertView, ViewGroup parent) {
      vi=convertView;
    if(convertView==null)
        vi = inflater.inflate(R.layout.tulisan_komentar_list_item,parent, false);
    LinearLayout content_favorite= (LinearLayout)vi.findViewById(R.id.content_favorite);
    final TextView date_komentar = (TextView)vi.findViewById(R.id.date_komentar); // artist name
    final TextView isi_komentar = (TextView)vi.findViewById(R.id.isi_komentar); // duration
    final TextView nama_komentar = (TextView)vi.findViewById(R.id.nama_komentar); // duration
    final TextView id_tulisan_komentar = (TextView)vi.findViewById(R.id.id_tulisan_komentar); // duration
    final ImageButton act_komentar = (ImageButton)vi.findViewById(R.id.act_komentar);
    ImageView thumb_image=(ImageView)vi.findViewById(R.id.avatar_komentar); // thumb image

    HashMap<String, String> tulisan = new HashMap<String, String>();
    tulisan = data.get(position);

    // Setting all values in listview
    date_komentar.setText(tulisan.get(ContentCommentActivity.TAG_DATE_KOMENTAR));
    isi_komentar.setText(tulisan.get(ContentCommentActivity.TAG_ISI_KOMENTAR));
    nama_komentar.setText(tulisan.get(ContentCommentActivity.TAG_NAMA_KOMENTAR));
    id_tulisan_komentar.setText(tulisan.get(ContentCommentActivity.TAG_ID_TULISAN_KOMENTAR));
    String avatar_komentar = tulisan.get(ContentCommentActivity.TAG_AVATAR_KOMENTAR);

    if(hide_gambar.equals("Y")){
        thumb_image.setVisibility(View.GONE);   
    }

    else{
        thumb_image.setVisibility(View.GONE);  
         /* thumb_image.setVisibility(View.VISIBLE);   
       if (avatar_komentar.equals("")) {
            thumb_image.setVisibility(View.GONE);
        } else {
            imageLoader.DisplayImage(tulisan.get(ContentCommentActivity.TAG_AVATAR_KOMENTAR), thumb_image);
            thumb_image.setVisibility(View.VISIBLE);   

        } */
    }

    activity.registerForContextMenu(act_komentar);

    act_komentar.setOnClickListener(new android.view.View.OnClickListener() 
    {

        public void onClick(View v) 
        {
            activity.openContextMenu(v);
            v.showContextMenu();

        }
    });


    return vi;

}


public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    menu.setHeaderTitle("My Context Menu");
    menu.add(0, 1, 0, "Add");
    menu.add(0, 2, 0, "Edit");
    menu.add(0, 3, 1, "Delete");
}

你能告诉我,应该是如何工作的?

can you tell me, how it should work ?

推荐答案

使用这样的:

act_komentar.setOnClickListener(new android.view.View.OnClickListener() 
{

    public void onClick(View v) 
    {
        //To register the button with context menu.
                        registerForContextMenu(act_komentar);
                        openContextMenu(act_komentar);

    }
});

   final int CONTEXT_MENU_VIEW =1;
 final int CONTEXT_MENU_EDIT =2;
 final int CONTEXT_MENU_ARCHIVE =3;
 @Override
 public void onCreateContextMenu(ContextMenu menu, View v,ContextMenu.ContextMenuInfo menuInfo) {
  //Context menu
  menu.setHeaderTitle("My Context Menu");          
  menu.add(Menu.NONE, CONTEXT_MENU_VIEW, Menu.NONE, "Add");
  menu.add(Menu.NONE, CONTEXT_MENU_EDIT, Menu.NONE, "Edit");
  menu.add(Menu.NONE, CONTEXT_MENU_ARCHIVE, Menu.NONE, "Delete");
 }

@Override
public boolean onContextItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    switch(item.getItemId())
    {
    case CONTEXT_MENU_VIEW:
    {

    }
    break;
    case CONTEXT_MENU_EDIT:
    {
        // Edit Action

    }
    break;
    case CONTEXT_MENU_ARCHIVE:
    {

    }
    break;
    }

    return super.onContextItemSelected(item);
}

输出:

希望这会为你工作。

这篇关于如何打开菜单上下文的Andr​​oid在列表视图适配器点击按钮?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆