因此标题说明了一切。我的内出现编译错误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 回答
桃花长相依
TA贡献1860条经验 获得超8个赞
这是一个有趣的答案。
您可以声明一个最终的单元素数组,然后显然可以更改数组的所有元素。我敢肯定,这完全打破了最初实施此编译器规则的原因,但是当您像今天一样处于时间限制时,这非常方便。
我实际上不能为此索赔。这是IntelliJ的推荐!感觉有点。但是它看起来不像全局变量那么糟糕,因此我认为在这里值得一提。这只是解决问题的一种方法。不一定是最好的。
final int[] tapCount = {0};
addSiteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tapCount[0]++;
}
});
添加回答
举报
0/150
提交
取消