为了账号安全,请及时绑定邮箱和手机立即绑定

在内部类中访问变量。需要宣布为最终

在内部类中访问变量。需要宣布为最终

慕森卡 2019-10-17 16:26:11
因此标题说明了一切。我的内出现编译错误onClick。这是代码。public class fieldsActivity extends Activity {Button addSiteButton;Button cancelButton;Button signInButton;/** * Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    // to create a custom title bar for activity window    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);    setContentView(R.layout.fields);    // use custom layout title bar    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.topbar);    Pager adapter = new Pager();    ViewPager mPager = (ViewPager) findViewById(R.id.fieldspager);    mPager.setAdapter(adapter);    mPager.setCurrentItem(1);    addSiteButton = (Button) findViewById(R.id.addSiteButton);    addSiteButton.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {           mPager.setCurrentItem(2, true); //Compilation error happens here.        }    });    cancelButton = (Button) findViewById(R.id.cancel_button);    signInButton = (Button) findViewById(R.id.sign_in_button);}
查看完整描述

3 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

如果您不想使其最终确定,则始终可以将其设为全局变量。


查看完整回答
反对 回复 2019-10-17
?
桃花长相依

TA贡献1860条经验 获得超8个赞

这是一个有趣的答案。


您可以声明一个最终的单元素数组,然后显然可以更改数组的所有元素。我敢肯定,这完全打破了最初实施此编译器规则的原因,但是当您像今天一样处于时间限制时,这非常方便。


我实际上不能为此索赔。这是IntelliJ的推荐!感觉有点。但是它看起来不像全局变量那么糟糕,因此我认为在这里值得一提。这只是解决问题的一种方法。不一定是最好的。


final int[] tapCount = {0};


addSiteButton.setOnClickListener(new View.OnClickListener() {


    @Override

    public void onClick(View v) {

       tapCount[0]++;

    }


});


查看完整回答
反对 回复 2019-10-17
  • 3 回答
  • 0 关注
  • 410 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信