android - openOptionsMenu() 不工作

标签 android options-menu

好吧,尝试了很多方法来解决这个问题,但没有...我想通过菜单项打开选项菜单。

    package com.example.tachles;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.ShareActionProvider;


public class MainActivity extends AnimActivity {

    private ShareActionProvider mShareActionProvider;
    ImageView history, contact, info, share;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        history = (ImageView) findViewById(R.id.imageView2);
        history.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

                Intent history = new Intent(getApplicationContext(),
                        HistoryMenu.class);
                startActivity(history);
            }
        });

        contact = (ImageView) findViewById(R.id.imageView8);
        contact.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                String recepientEmail = "mirnax.info@gmail.com";
                Intent intent = new Intent(Intent.ACTION_SENDTO);
                intent.setData(Uri.parse("mailto:" + recepientEmail));

                startActivity(intent);

            }
        });

        info = (ImageView) findViewById(R.id.imageView9);
        info.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

                Intent info = new Intent(getApplicationContext(), Odot.class);
                startActivity(info);

            }
        });
    }

    // Menu
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.actionbar, menu);

        // Get the ActionProvider for later usage
        mShareActionProvider = (ShareActionProvider) menu.findItem(
                R.id.action_share).getActionProvider();

        /** Setting a share intent */
        mShareActionProvider.setShareIntent(getDefaultShareIntent());

        return super.onCreateOptionsMenu(menu);
    }

    private Intent getDefaultShareIntent() {
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("text/plain");
        intent.putExtra(Intent.EXTRA_SUBJECT,
                "תכל'ס - האפליקציה שתלווה אותך לבגרויות");
        intent.putExtra(Intent.EXTRA_TEXT,
                "https://play.google.com/store/apps/details?id=com.tachles");
        return intent;
    }


    public void Options(MenuItem item){

        MainActivity.this.openOptionsMenu();
        }

    public void like(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.action_like:
            Uri uri = Uri.parse("https://m.facebook.com/tachles.mirnax?_rdr");
            Intent intent = new Intent(Intent.ACTION_VIEW, uri);
            startActivity(intent);
        }

    }



}

也试过这种方法,但它什么也没做...... Android Option Menu on Button click

请帮助...没有错误,没有 logcat ...

最佳答案

使用下面的覆盖方法创建上下文菜单 View 。

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)
    {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, 1, 0, "Menu 1");
        menu.add(0, 2, 0, "Menu 2");
        menu.add(0, 3, 0, "Menu 3");
    }

在您的 Activity 代码中使用以下覆盖的方法来处理点击监听器。

    @Override
    public boolean onContextItemSelected(MenuItem item)
    {

        switch (item.getItemId())
        {
        case 1:
            //do your code here
            break;
        case 2:
            //do your code here
            break;
        case 3:
            //do your code here
            break;
        default : break;
            }

在您的 onCreateView() 中,只需调用 registerForContextMenu(yourButton); 并实现具有 YourClassName.this.openContextMenu 的 onClickListener() (v);

关于android - openOptionsMenu() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23196923/

相关文章:

未找到证书路径的 Android DownloadManager 信任 anchor

android - 保护 Web 服务,使其只能由特定的 Android 应用程序调用

Android 选项菜单图标不会显示

java - 拦截 onOptionsItemSelected

android - 如何以编程方式检查android中是否有任何通知?

android - 在 AutoCompleteTextView 中找不到符号方法 setDropDownAnimationStyle(int)

javascript - 如何从选项集中获取选定值 crm 4 dynamics 2011 online

Android:什么会导致选项菜单膨胀错误?

android - Android 中的自定义选项菜单

SINGLE_COLUMN 模式的 Android webview 问题