除非我添加以下代码,否则应用程序将正常运行。
public class TFView extends View{
private Paint p;
private ArrayList<Orb> O1;
/** Called when the activity is first created. */
public TFView (Context context){
super(context);
O1=new ArrayList<Orb>();
p = new Paint();
int Orby=0;
for(int j=0; j<3; j++){
int Orbx= 0;
for(int i=0; i<4; i++)
{
O1.add(new Orb(Orbx,Orby,true));
Orbx+= 40;
}
Orby+= 40;
}
}
@Override
protected void onDraw(Canvas canvas) {
for(Orb t:O1){
canvas.drawOval(t.drawOrb(), p);
}
p.setColor(Color.BLUE);
canvas.drawText(String.valueOf(main.getx()), 50, 50, p);
canvas.drawText(String.valueOf(main.gety()), 50, 80, p);
canvas.drawText(String.valueOf(O1.size()), 50, 110, p);
try {
Thread.sleep(30);
} catch (InterruptedException e) { }
invalidate();
}
}
所以,我相信我的问题与android不接受我的Arraylist有关。我在我的计算机上运行了一个非常相似的代码,但有些关于Android的东西似乎并不想接受它。这是我的Arraylist中使用的Orb类。
import android.graphics.RectF;
public class Orb {
static int orbx;
static int orby;
public int size;
static RectF button;
boolean display;
public Orb(){
orbx=0;
orby=0;
display=false;
}
public Orb(int x, int y, boolean d){
orbx=x;
orby=y;
display=true;
}
public RectF drawOrb(){
button.set(orbx, orby,orbx+30, orby+30);
return button;
}
}
那么,为什么android不接受我的Arraylist图纸?谢谢您的帮助。
编辑:所以,我使用以下代码修复了按钮为空的问题 public RectF drawOrb(){
button.set(orbx, orby,orbx+30, orby+30);
if(button!=null)
return button;
else
return b;
}
现在我收到多个看起来像这样的空指针异常
[2011-04-23 22:31:25 - ddms]null
java.lang.NullPointerException
at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
at com.android.ddmlib.Client.sendAndConsume(Client.java:574)
at com.android.ddmlib.HandleHello.sendHELO(HandleHello.java:142)
at com.android.ddmlib.HandleHello.sendHelloCommands(HandleHello.java:65)
at com.android.ddmlib.Client.getJdwpPacket(Client.java:671)
at com.android.ddmlib.MonitorThread.processClientActivity(MonitorThread.java:317)
at com.android.ddmlib.MonitorThread.run(MonitorThread.java:263)
再次感谢
答案 0 :(得分:1)
E/AndroidRuntime( 312): java.lang.NullPointerException
E/AndroidRuntime( 312): at com.djrobotfreak.Think_Fast.Orb.drawOrb(Orb.java:26)
NullPointerException
第26行有Orb.java
。根据您的商家信息,这似乎是:
button.set(orbx, orby,orbx+30, orby+30);
如果是,button
为空。