OnCreateOptions菜单方法中的变量未更新,android Java
我有一个整数变量,它在激活共享意图时不会被更新。我错过了什么?谢谢 在类中声明了整数i1: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);
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菜单()找到解决方案”