Android進階 二十六 MenuInflater實現選單新增
阿新 • • 發佈:2019-01-08
MenuInflater實現選單新增
前言
之前實現的Android專案中可以實現選單的顯示。但是再次除錯專案時發現此功能已無法實現,很是令人費解。難道是因為自己手機Android系統的問題?嘗試通過別的手機進行真機除錯。
經過在別人的手機上進行測試,發現問題依舊存在。那就是自己的程式有問題了。
實現選單顯示的程式碼如下:
/** * 新增選單或子選單 * * 1.重寫onCreateOptionsMenu(Menu menu)方法,在該方法裡呼叫Menu物件的方法來新增選單項或子選單 */ @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = new MenuInflater(this); inflater.inflate(R.menu.user_evaluation_activity_menu, menu); return super.onCreateOptionsMenu(menu); } // 2.若希望應用程式能響應選單項的單擊事件,重寫onOptionsItemSelected(MenuItem item)方法即可 @Override public boolean onOptionsItemSelected(MenuItem item) { // 得到當前選中的MenuItem的ID, int item_id = item.getItemId(); switch (item_id) { case R.id.ueaMenuItem_pinglun: { // 判斷該商品是否存在 Bundle data = new Bundle(); data.putString("barcode", barcode); Intent intent = new Intent(UserEvaluationActivity.this, AddEvaluationActivity.class); intent.putExtras(data); startActivityForResult(intent, 1); } ; break; case R.id.ueaMenuItem_fenxiang: { Intent intent = new Intent(Intent.ACTION_SEND); // 設定分享型別 // intent.setType("image/*"); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_SUBJECT, "Share"); intent.putExtra(Intent.EXTRA_TEXT, "#我正在使用“QuickMark”購物評價分享軟體(分享自華強APP)#" + "我對條形碼為:" + barcode + "的評價:" + string); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(Intent.createChooser(intent, getTitle())); }; break; case R.id.ueaMenuItem_shuaxin: { GetEvaluationTask dTask = new GetEvaluationTask(); dTask.execute(barcode); }; break; } return true; }
吐槽
看自己之前寫的程式碼,不忍直視。後臺邏輯不清晰,前端UI佈局混亂不堪!
美文美圖
再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://www.cnblogs.com/captainbed