根据下面给出的以下代码尝试写入变量时出现上述错误。从内部类中访问变量需要声明为最后 - 错误
我知道我可以通过全局声明变量(mPager)并使其最终解决。但我不想让它最终确定下来,我想知道为什么会出现这样的错误,是否还有其他解决方法,而不是通过全局或最终方式声明它?
public class fieldsActivity extends Activity {
Button addSiteButton;
Button cancelButton;
Button signInButton;
/**
* Called when the activity is first created.
*/
@Override
public 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); //Variable of CONCERN
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.
}
});
化妆寻呼机作为'final' –
是错误不能更清晰,让您的mPager为决赛。 –
http://stackoverflow.com/questions/24001752/why-the-compiler-ask-me-declare-a-variable-final-when-i-use-the-method-onclic – Nabin