2013-07-02 26 views
6

Menü Bağlamı Android'i nasıl açılır?Menü Bağlamı Android'i, liste görüntüleme adaptöründeki tıklama düğmesiyle nasıl açılır?

benim koduyla denedim, ancak işe nasıl menü bağlamı,

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"); 
} 

bana söyleyebilirsin

kodu göstermiyor? Böyle

cevap

17

Kullanım:

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); 
} 

Çıktı: Bu sizin için çalışacaktır

enter image description here

Umut.

+0

cevabınız için teşekkürler .. çalışıyorum ama çalışmaz ... bu bölüm satır kodu doğru mu? >> public void onCreateContextMenu (ContextMenu menüsü, Görünüm v, ContextMenuInfo menuInfo) { menu.setHeaderTitle ("İçeriklerim Menüsü"); menu.add (0, 1, 0, "Ekle"); menu.add (0, 2, 0, "Edit"); menu.add (0, 3, 1, "Sil"); } – bukanamay

İlgili konular