openOptionsMenu()不工作 [英] openOptionsMenu() not working

查看:689
本文介绍了openOptionsMenu()不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Well, tried a lot of ways to solve this problem but nothing... I want to open the options menu via menu item.

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

    }



}

也试过这种方式,它只是什么都不做...
在按钮的Andr​​oid选项菜单点击

请帮助...没有错误,没有任何的logcat ...

please help... no errors, no logcat ...

推荐答案

下面重写的方法用于创建上下文菜单视图。

Use below overridden method for creating context menu 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");
    }

使用下面覆盖的方法为您的活动code处理点击监听器。

Use below overridden method for handling click listener in your activity code.

    @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); 和实施 onClickListener () YourClassName.this.openContextMenu(v);

这篇关于openOptionsMenu()不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆