2017-09-13 79 views
0

我要显示弹出式菜单,我每次点击列表视图项目。但它不工作。帮帮我。 但吐司很好。如何在列表视图项目上显示弹出式菜单?

public class MainActivity extends AppCompatActivity { 
    ListView list; 
    @Override 
    protected void onCreate(final Bundle savedInstanceState) { 
    String[] mobileArray = {"Android", "IPhone", "WindowsMobile", "Blackberry", 
    "WebOS", "Ubuntu", "Windows7", "Max OS X"}; 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ArrayAdapter adapter = new ArrayAdapter<string>(this, 
    R.layout.activity_listview, mobileArray); 

    list = (ListView) findViewById(R.id.mobile_list); 
    list.setAdapter(adapter); 

    list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
    Toast.makeText(getApplicationContext(), "Hello Javatpoint", Toast.LENGTH_SHORT).show(); 
    PopupMenu popup = new PopupMenu(MainActivity.this, list); 
    popup.getMenuInflater() 
    .inflate(R.menu.popup_menu, popup.getMenu()); 
    } 
    }); 
    } 

    } 
+1

你需要调用'显示()'在popupMenu上实际显示。添加'popup.show();'膨胀菜单项后 –

+0

欢迎使用堆栈溢出!寻求调试帮助的问题(“为什么这个代码不工作?”)必须包含所需的行为,特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题陈述的问题对其他读者无益。请参阅:如何创建[mcve]。使用“编辑”链接来改善你的*问题* - 不要通过评论添加更多信息。谢谢! – GhostCat

+0

“没有工作”不是一个问题描述,我们可以帮助很多。要尽可能具体! – GhostCat

回答

0

试试这个: 里面你的ListView onitemclicklistener调用这个函数:

 PopUp(); 

    private void PopUp() { 
    final Dialog dialog = new Dialog(Activity.this, android.R.style.Theme_Black_NoTitleBar_Fullscreen); 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.setContentView(R.layout.yourlayotu); 


    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 
    dialog.show(); 
} 
0

显示弹出菜单中,您需要使用弹出菜单的show()

相关问题