我想从Edittext获取int值,然后访问该值On Button。但当我访问按钮它显示错误删除“最后”修改符“val”。当我删除它然后在按钮监听器mViewPager.setCurrentItem(val);
上显示错误Change modifier of 'val'to Final
。
这是我的代码
bt_Goto =(Button)findViewById(R.id.btn_goto);
bt_next =(Button)findViewById(R.id.btn_next);
bt_Prev =(Button)findViewById(R.id.btn_prev);
ed_text =(EditText)findViewById(R.id.editText1);
final int val=-1;
if(ed_text.getText().toString().length() > 0){
val = Integer.parseInt( ed_text.getText().toString() );
}
// String str = ed_text.getText().toString().trim();
mViewPager = (ExtendedViewPager) findViewById(R.id.view_pager);
mViewPager.setAdapter(new TouchImageAdapter());
mViewPager.setCurrentItem(0);
bt_Goto.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mViewPager.setCurrentItem(val);
}
});
完整代码:
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import com.startapp.android.publish.StartAppAd;
import com.startapp.android.publish.StartAppSDK;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.app.Activity;
public class MainActivity extends Activity {
Button bt_next,bt_Prev,bt_Goto;
EditText ed_text;
ImageView iv;
ExtendedViewPager mViewPager;
AdView adView;
int val=-1;
private StartAppAd startAppAd = new StartAppAd(this);
private static final String AD_UNIT_ID = "ca-app-pub-3785804349839269/3077204438";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
StartAppSDK.init(this, "101607288", "201235812", true);
startAppAd.showAd(); // show the ad
startAppAd.loadAd(); // load the next ad
AdView adView = (AdView) this.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
// Create an ad.
adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId(AD_UNIT_ID);
bt_Goto =(Button)findViewById(R.id.btn_goto);
bt_next =(Button)findViewById(R.id.btn_next);
bt_Prev =(Button)findViewById(R.id.btn_prev);
ed_text =(EditText)findViewById(R.id.editText1);
if(ed_text.getText().toString().length() > 0){
val = Integer.parseInt( ed_text.getText().toString() );
}
// String str = ed_text.getText().toString().trim();
mViewPager = (ExtendedViewPager) findViewById(R.id.view_pager);
mViewPager.setAdapter(new TouchImageAdapter());
mViewPager.setCurrentItem(0);
bt_Goto.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mViewPager.setCurrentItem(val);
}
});
}
static class TouchImageAdapter extends PagerAdapter {
private static int[] images =
{R.raw.a0002,R.raw.a0003,R.raw.a0004,R.raw.a0005,R.raw.a0006,R.raw.a0007,R.raw.a0008,R.raw.a0009,R.raw.a0010,
R.raw.a0011,R.raw.a0012,R.raw.a0013,R.raw.a0014,R.raw.a0015,R.raw.a0016,R.raw.a0017,R.raw.a0018,R.raw.a0019,R.raw.a0020,
R.raw.a0021,R.raw.a0022,R.raw.a0023,R.raw.a0024,R.raw.a0025,R.raw.a0026,R.raw.a0027,R.raw.a0028,R.raw.a0029,R.raw.a0030,
R.raw.a0031,R.raw.a0032,R.raw.a0033,R.raw.a0034,R.raw.a0035,R.raw.a0036,R.raw.a0037,R.raw.a0038,R.raw.a0039,R.raw.a0040,
R.raw.a0041,R.raw.a0042,R.raw.a0043,R.raw.a0044,R.raw.a0045,R.raw.a0046,R.raw.a0047,R.raw.a0048,R.raw.a0049,R.raw.a0050,
R.raw.a0051,R.raw.a0052,R.raw.a0053,R.raw.a0054,R.raw.a0055,R.raw.a0056,R.raw.a0057,R.raw.a0058,R.raw.a0059,R.raw.a0060,
R.raw.a0061,R.raw.a0062,R.raw.a0063,R.raw.a0064,R.raw.a0065,R.raw.a0066,R.raw.a0067,R.raw.a0068,R.raw.a0069,R.raw.a0070,
R.raw.a0071,R.raw.a0072,R.raw.a0073,R.raw.a0074,R.raw.a0075,R.raw.a0076,R.raw.a0077,R.raw.a0078,R.raw.a0079,R.raw.a0080,
R.raw.a0081,R.raw.a0082,R.raw.a0083,R.raw.a0084,R.raw.a0085,R.raw.a0086,R.raw.a0087,R.raw.a0088,R.raw.a0089,R.raw.a0090,
R.raw.a0091,R.raw.a0092,R.raw.a0093,R.raw.a0094,R.raw.a0095,R.raw.a0096,R.raw.a0097,R.raw.a0098,R.raw.a0099,R.raw.a0100,
R.raw.a0101,R.raw.a0102,R.raw.a0103,R.raw.a0104,R.raw.a0105,R.raw.a0106,R.raw.a0107,R.raw.a0108,R.raw.a0109,R.raw.a0110,
R.raw.a0111,R.raw.a0112,R.raw.a0113,R.raw.a0114,R.raw.a0115,R.raw.a0116,R.raw.a0117,R.raw.a0118,R.raw.a0119,R.raw.a0120,
R.raw.a0121,R.raw.a0122,R.raw.a0123,R.raw.a0124,R.raw.a0125,R.raw.a0126,R.raw.a0127,R.raw.a0128,R.raw.a0129,R.raw.a0130,
R.raw.a0131,R.raw.a0132,R.raw.a0133,R.raw.a0134,R.raw.a0135,R.raw.a0136,R.raw.a0137,R.raw.a0138,R.raw.a0139,R.raw.a0140,
R.raw.a0141,R.raw.a0142,R.raw.a0143,R.raw.a0144,R.raw.a0145,R.raw.a0146,R.raw.a0147,R.raw.a0148,R.raw.a0149,R.raw.a0150,
R.raw.a0151,R.raw.a0152,R.raw.a0153,R.raw.a0154,R.raw.a0155,R.raw.a0156,R.raw.a0157,R.raw.a0158,R.raw.a0159,R.raw.a0160,
R.raw.a0161,R.raw.a0162,R.raw.a0163,R.raw.a0164,R.raw.a0165,R.raw.a0166,R.raw.a0167,R.raw.a0168,R.raw.a0169,R.raw.a0170,
R.raw.a0171,R.raw.a0172,R.raw.a0173,R.raw.a0174,R.raw.a0175,R.raw.a0176,R.raw.a0177,R.raw.a0178,R.raw.a0179,R.raw.a0180,
R.raw.a0181,R.raw.a0182,R.raw.a0183,R.raw.a0184,R.raw.a0185,R.raw.a0186,R.raw.a0187,R.raw.a0188,R.raw.a0189,R.raw.a0190,
R.raw.a0191,R.raw.a0192,R.raw.a0193,R.raw.a0194,R.raw.a0195,R.raw.a0196,R.raw.a0197,R.raw.a0198,R.raw.a0199,R.raw.a0200,
R.raw.a0201,R.raw.a0202,R.raw.a0203,R.raw.a0204,R.raw.a0205,R.raw.a0206,R.raw.a0207,R.raw.a0208,R.raw.a0209,R.raw.a0210,
R.raw.a0211,R.raw.a0212,R.raw.a0213,R.raw.a0214,R.raw.a0215,R.raw.a0216,R.raw.a0217,R.raw.a0218,R.raw.a0219,R.raw.a0220,
R.raw.a0221,R.raw.a0222,R.raw.a0223,R.raw.a0224,R.raw.a0225,R.raw.a0226,R.raw.a0227,R.raw.a0228,R.raw.a0229,R.raw.a0230,
R.raw.a0231,R.raw.a0232,R.raw.a0233,R.raw.a0234,R.raw.a0235,R.raw.a0236,R.raw.a0237,R.raw.a0238,R.raw.a0239,R.raw.a0240,
R.raw.a0241,R.raw.a0242,R.raw.a0343,R.raw.a0344,R.raw.a0245,R.raw.a0246,R.raw.a0347,R.raw.a0248,R.raw.a0249,R.raw.a0250,
R.raw.a0251,R.raw.a0252,R.raw.a0253,R.raw.a0254,R.raw.a0255,R.raw.a0256,R.raw.a0257,R.raw.a0258,R.raw.a0259,R.raw.a0260,
R.raw.a0261,R.raw.a0262,R.raw.a0263,R.raw.a0264,R.raw.a0265,R.raw.a0266,R.raw.a0267,R.raw.a0268,R.raw.a0269,R.raw.a0270,
R.raw.a0271,R.raw.a0272,R.raw.a0273,R.raw.a0274,R.raw.a0275,R.raw.a0276,R.raw.a0277,R.raw.a0278,R.raw.a0279,R.raw.a0280,
R.raw.a0281,R.raw.a0282,R.raw.a0283,R.raw.a0284,R.raw.a0285,R.raw.a0286,R.raw.a0287,R.raw.a0288,R.raw.a0289,R.raw.a0290,
R.raw.a0291,R.raw.a0292,R.raw.a0293,R.raw.a0294,R.raw.a0295,R.raw.a0296,R.raw.a0297,R.raw.a0298,R.raw.a0299,R.raw.a0300,
R.raw.a0301,R.raw.a0302,R.raw.a0303,R.raw.a0304,R.raw.a0305,R.raw.a0306,R.raw.a0307,R.raw.a0308,R.raw.a0309,R.raw.a0310,
R.raw.a0311,R.raw.a0312,R.raw.a0313,R.raw.a0314,R.raw.a0315,R.raw.a0316,R.raw.a0317,R.raw.a0318,R.raw.a0319,R.raw.a0320,
R.raw.a0321,R.raw.a0322,R.raw.a0323,R.raw.a0324,R.raw.a0325,R.raw.a0326,R.raw.a0327,R.raw.a0328,R.raw.a0329,R.raw.a0330,
R.raw.a0331,R.raw.a0332,R.raw.a0333,R.raw.a0334,R.raw.a0335,R.raw.a0336,R.raw.a0337,R.raw.a0338,R.raw.a0339,R.raw.a0340,
R.raw.a0341,R.raw.a0342,R.raw.a0343,R.raw.a0344,R.raw.a0345,R.raw.a0346,R.raw.a0347,R.raw.a0348,R.raw.a0349,R.raw.a0350,
R.raw.a0351,R.raw.a0352,R.raw.a0353,R.raw.a0354,R.raw.a0355,R.raw.a0356,R.raw.a0357,R.raw.a0358,R.raw.a0359,R.raw.a0360,
R.raw.a0361,R.raw.a0362,R.raw.a0363,R.raw.a0364};
@Override
public int getCount() {
return images.length;
}
@Override
public View instantiateItem(ViewGroup container, int position) {
TouchImageView img = new TouchImageView(container.getContext());
img.setImageResource(images[position]);
container.addView(img, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
return img;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
}
}
答案 0 :(得分:0)
从final
int
关键字
final int val=-1;
^^^^删除那个
除此之外,将其声明为类字段,以便您可以在侦听器范围内访问它。
答案 1 :(得分:0)
在类级别声明你的int val变量 当它来到方法时用-1初始化它。
希望完全可以工作。
答案 2 :(得分:0)
在onCreate中声明ed_text和mViewPager,如下所示
final EditText ed_text =(EditText)findViewById(R.id.editText1);
final ExtendedViewPager mViewPager = (ExtendedViewPager) findViewById(R.id.view_pager);
现在您可以像这样
访问bt_Goto点击监听器中的ed_text值 bt_Goto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ed_text.getText().toString().length() > 0){
mViewPager.setCurrentItem(Integer.parseInt( ed_text.getText().toString()));
}
}
});
答案 3 :(得分:0)
您可以使用临时变量来实现此目的。
int value_temp = -1;
if(ed_text.getText().toString().length() > 0){
value_temp = Integer.parseInt( ed_text.getText().toString() );
}
final int value = value_temp;
bt_Goto.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mViewPager.setCurrentItem(value);
}
});