Кажется, что все еще хорошо, я не могу создать новый объект в другом классе. Я получил только "java.lang.Null.Pointer.Exception"
На самом деле у меня есть класс F16, который используется для создания самолета F16. когда я пытаюсь создать новый объект в MainActivity, чтобы показать самолет, эта ошибка показана.Исключение Java null указателя при создании объекта
MainActivity Класс
public class MainActivity extends Activity {
LinearLayout Map=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Map=(LinearLayout)findViewById(R.id.Map);
try{
F16 myF16=new F16();
myF16.CreateAirCraft(myF16.CoordinateX,myF16.CoordinateY, this, Map);
}
catch(Exception ex){
Log.d("Er", ex.toString());
}
}
F16 Класс
public class F16 extends AirCraft {
Context context;
private int Image=context.getResources().getIdentifier("F16" , "drawable", context.getPackageName());
LinearLayout PlaneBody=null;//a container used to hold All information of Aircraft
TextView PlaneName=null;// mentions to AirCraft name
ImageView PlaneImg=null;//mentions to AirCraft Image
public void CreateAirCraft(byte X , byte Y,Context Ctx,LinearLayout Map){
Name="F-16";
PlaneBody=new LinearLayout(Ctx);
PlaneName=new TextView(Ctx);
PlaneImg=new ImageView(Ctx);
PlaneName.setText(Name);
PlaneImg.setImageResource(Image);
PlaneBody.addView(PlaneName);
PlaneBody.addView(PlaneImg);
Map.addView(PlaneBody);
}
}
AirCraft Класс
public abstract class AirCraft {
public String Name="";
public byte CoordinateX=0;
public byte CoordinateY=0;
public byte Weight=0;
}
Опубликуйте свои журналы. – Pankaj
@Clairvoyant, я получил только «java.lang.Null.Pointer.Exception». Ничего больше! –
Перед публикацией журналов включите stacktrace с помощью 'Log.d (« Er », ex.toString(), e);' в блоке catch. – Codebender