Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OnCreateOptions菜单方法中的变量未更新,android Java_Android_Variables_Oncreateoptionsmenu - Fatal编程技术网

OnCreateOptions菜单方法中的变量未更新,android Java

OnCreateOptions菜单方法中的变量未更新,android Java,android,variables,oncreateoptionsmenu,Android,Variables,Oncreateoptionsmenu,我有一个整数变量,它在激活共享意图时不会被更新。我错过了什么?谢谢 在类中声明了整数i1: private int i1; 以下是onCreateOptions菜单方法 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.pun, menu);

我有一个整数变量,它在激活共享意图时不会被更新。我错过了什么?谢谢

在类中声明了整数i1:

private int i1;
以下是onCreateOptions菜单方法

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.pun, menu);
        star = menu.findItem(R.id.action_favoritestar);
        init();

        MenuItem shareItem = (MenuItem) menu.findItem(R.id.menu_item_share);

        shareAction = (ShareActionProvider) MenuItemCompat.getActionProvider(shareItem);

        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setAction(Intent.ACTION_SEND);
        intent.setType("text/plain");
        intent.putExtra(intent.EXTRA_TEXT, "\"" + mLines.get(i1));

        shareAction.setShareIntent(intent);

        return true;
    }
按下按钮时,会修改变量:

final Button btn1 = (Button) findViewById(R.id.next);
        btn1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                star.setIcon(R.drawable.starblank);

            Random r = new Random();
            i1 = r.nextInt(20 - 1) + 1;

            textView.setText(mLines.get(i1));

           }
    });

找到了解决办法。股票期权菜单未更新多次。每次按下按钮后,我都调用了
invalidateOptionsMenu()

它正在更新,但由于菜单只创建了一次,因此只能使用一次。将intent实例存储在字段变量中,并在单击时直接更新额外的。谢谢。我能够使用“Activity.InvalidateOptions菜单()找到解决方案”