【发布时间】:2013-11-30 17:05:24
【问题描述】:
声明:
// collections of spots (Buttons) and Animators
private final Queue<Button> spots = new ConcurrentLinkedQueue<Button>();
添加新地点:
public void addNewSpot()
{
int x = random.nextInt(viewWidth - SPOT_DIAMETER);
int y = 0 - SPOT_DIAMETER;
int x2 = x;
int y2 = (viewHeight);
// create new spot
final Button spot = (Button) layoutInflater.inflate(R.layout.untouched, null);
spot.setPadding(0,0,0,0);
spots.add(spot);
检查所有充气点
public void Check_all_Spot(int BOY_X)
{
int [] lowest_x;
int [] lowest_y;
int apple_shown_length =0;
Button [] apple_shown;
String text_x ="";
String text_y = "";
if (!spots.isEmpty())
{
apple_shown = (Button[]) spots.toArray(); //LINE 684
apple_shown_length = apple_shown.length;
}
lowest_x = new int [apple_shown_length];
lowest_y = new int [apple_shown_length];
apple_shown = new Button [apple_shown_length];
for (int w = 0; w < apple_shown_length ; ++w)
{
lowest_x[w] = (int) apple_shown[w].getX();
lowest_y[w] = (int) apple_shown[w].getY();
text_x = text_x+ lowest_x[w];
text_y = text_y+ lowest_y[w];
}
image_boy.setText("lowest spot\n"+text_x+"\n"+text_y);
}
Logcat:
12-01 00:57:12.760: E/AndroidRuntime(14706): FATAL EXCEPTION: main
12-01 00:57:12.760: E/AndroidRuntime(14706): java.lang.ClassCastException: java.lang.Object[] cannot be cast to android.widget.Button[]
12-01 00:57:12.760: E/AndroidRuntime(14706): at com.abc.abc.Game_collecting_view.Check_all_Spot(Game_collecting_view.java:684)
12-01 00:57:12.760: E/AndroidRuntime(14706): at com.abc.abc.Game_collecting_view.Increment(Game_collecting_view.java:777)
12-01 00:57:12.760: E/AndroidRuntime(14706): at com.abc.abc.Game_collecting_view$RptUpdater.run(Game_collecting_view.java:754)
12-01 00:57:12.760: E/AndroidRuntime(14706): at android.os.Handler.handleCallback(Handler.java:615)
12-01 00:57:12.760: E/AndroidRuntime(14706): at android.os.Handler.dispatchMessage(Handler.java:92)
12-01 00:57:12.760: E/AndroidRuntime(14706): at android.os.Looper.loop(Looper.java:137)
12-01 00:57:12.760: E/AndroidRuntime(14706): at android.app.ActivityThread.main(ActivityThread.java:4898)
12-01 00:57:12.760: E/AndroidRuntime(14706): at java.lang.reflect.Method.invokeNative(Native Method)
12-01 00:57:12.760: E/AndroidRuntime(14706): at java.lang.reflect.Method.invoke(Method.java:511)
12-01 00:57:12.760: E/AndroidRuntime(14706): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
12-01 00:57:12.760: E/AndroidRuntime(14706): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
12-01 00:57:12.760: E/AndroidRuntime(14706): at dalvik.system.NativeStart.main(Native Method)
问题:
我想获取屏幕中所有点的 x 和 y 坐标。
然而,logcat 报告 java.lang.Object[] cannot be cast to android.widget.Button[]。如何纠正错误?谢谢!
【问题讨论】:
标签: android arrays object button