2017-09-13 84 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()

相關問題