我是android新手,所以也许我做错了什么。我想要一个特定的活动来显示有关游戏“生物”类实例的详细信息。名字,受到的伤害,诸如此类。
我在让生物数据正确显示在 GUI 对象中时遇到问题。在初始创建时(应将生物的名称复制到名称字段中)和添加损坏标记时(不会更新以显示正确的图像)。
这是我所拥有的迷你示例:
public class CreatureDetailActivity2 extends Activity
{
Creature creature;
public void addMark(View v)
{
// connected to the button via android:onClick="addMark" in the XML
creature.getTrack().addDamage(DamageType.Normal, 1);
refreshDisplay();
new AlertDialog.Builder(this).setTitle(creature.getName())
.setMessage(creature.getTrack().toString()).show();
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_creature_detail);
creature = new Creature("Example");
refreshDisplay();
}
public void refreshDisplay()
{
final View creatureDetailView = this.getLayoutInflater().inflate(
R.layout.activity_creature_detail, null);
final EditText nameField = (EditText) (creatureDetailView
.findViewById(R.id.textbox_creature_name));
nameField.setText(creature.getName());
final ImageView damageBox0 = (ImageView) (creatureDetailView.findViewById(R.id.damageBox0));
damageBox0.setImageResource(R.drawable.__n);
// in the full program this does the same for 0 through 9, but this is a sample
// also, in the full program, this is a dynamic lookup for the correct pic
// but again, this is just a sample version.
}
}
现在的问题是应用程序将加载并启动,但是没有一个小部件将正确更新。您可以单击该按钮,它会显示 AlertDialog,AlertDialog 的文本会发生变化,但 Activity 中的文本字段不会更改,并且 ImageView 在任何时候都不会从它开始的位置更改到它应该更改为的那个。
所以我很困惑。如果我遗漏了一些重要的东西,我可以发布更多关于项目设置的信息,但我什至不确定发生了什么问题,所以我不确定我的问题中还包括什么。