public class Images extends Activity
{
private final static int[] images = {R.drawable.bg,R.drawable.bg0,
R.drawable.bg1,R.drawable.bg2,R.drawable.bg3}
{
private final static int[] images = {R.drawable.bg,R.drawable.bg0,
R.drawable.bg1,R.drawable.bg2,R.drawable.bg3}
{
private final static int[] images = {R.drawable.bg,R.drawable.bg0,
R.drawable.bg1,R.drawable.bg2,R.drawable.bg3};
public static final String TAG="TAG";
private int id;
private ImageSwitcher switcher;
public Images(){id=0;}
public void onCreate(Bundle b)
{
super.onCreate(b);
setContentView(R.layout.images);
switcher = (ImageSwitcher)findViewById(R.id.imageSwitcher);
Log.e(TAG,"1");
switcher.setImageResource(R.drawable.bg7);
Log.e(TAG,"2");
switcher.setOnTouchListener(new View.OnTouchListener(){ private int Y; public boolean onTouch(View p1, MotionEvent p2)
{Log.e(TAG,"3");
switch (p2.getAction())
{
case MotionEvent.ACTION_DOWN : Y = (int)p2.getY();
case MotionEvent.ACTION_UP : {if (Y < (int)p2.getY())
{if (id >= images.length)id = -1;switcher.setImageResource(images[id + 1]);}
else
{if (id <= 0)id = images.length;switcher.setImageResource(images[id - 1]);}}break;
}
return false;
}
});
}}
是不是数组初始化出错了(我试过各种初始化方法了啊)?或者是ImageSwitcher初始化的问题(程序在getImageResource这儿崩溃,我也快崩溃了)?TouchEvent的部分可能比较拙劣~没看过文档(英文的看不太明白,翻译api的大神们又往往留着些重要的类没翻译(比如Activity,比如Intent)现求!)
R.drawable.bg1,R.drawable.bg2,R.drawable.bg3};
数组里面没有东西吧,应该先定义数组变量:private final static int[] images;然后在在onCreate方法中 images = {};
应该是因为对象初始化的时候还没有加载R.drawable之类的东西,识别不出来;
把赋值部分拿掉,放到onCreate()里,就能识别了