我有一個遊戲,用戶在畫布上來回移動,可與項目在這種情況下相互作用,觸發戰鬥狗的點擊。Android的 - 問題與對話框/按鈕
這加載了一個對話框,讓用戶打或者逃跑的選項。用戶點擊戰鬥,然後彈出另一個對話框,這將顯示一些文本(您的詳細信息和狗的詳細信息),並在該文本下方有一個攻擊按鈕。
當你點擊連接按鈕幾件事情發生(不relvent),這實質上意味着用戶和狗的細節變化(例如DogHP下降到18)。
所以我的問題是:
- 我加載了動態信息「狗惠普的第一個對話框。攻擊鍵點擊
- 後,這些信息會改變。
- 因此,我需要使用builder.setMessage()
- (例如,)將當前顯示的新信息更新爲第一個對話框。原單HP = 20 ...攻擊鍵點擊...新的HP = 10
請看到一些代碼片斷如下,任何意見或指導做好將不勝感激:
代碼段:
void Fight()
{
final int DogHP = 25;
final int DogAtk = 15;
final int DogDef = 5;
final int DogSpeed = 20;
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(context.getText(R.string.monster_dog_title));
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.fight, null);
builder.setView(view);
final AlertDialog DogBattle = builder.create();
View FightBtn = view.findViewById(R.id.dog_fight);
FightBtn.setOnClickListener(new OnClickListener()
{
boolean attacked = false;
@Override
public void onClick(View clicked)
{
if(clicked.getId() == R.id.dog_fight)
{
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(context.getText(R.string.monster_fight));
builder.setMessage("Your Current Battle Details:\n" + "HP = " + UserHP + " Def = " + UserDef + " Atk = " + UserAtk + "\n\n" + "Your Enemy:\n" + "HP = " + DogHP + " Def = " + DogDef + " Atk = " + DogAtk);
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.monsterbattle, null);
builder.setView(view);
final AlertDialog BattleRun = builder.create();
BattleRun.show();
View LeaveBattle = view.findViewById(R.id.Attack);
LeaveBattle.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View clicked)
{
if(clicked.getId() == R.id.Attack)
{
// SOME CODE GOES HERE
}
}
});
}
}
});
}
在此先感謝您的幫助。
你的問題是? – 2012-07-05 16:10:43
基本上,點擊攻擊按鈕後,我加載的第一個對話框中有動態信息'Dog HP',然後該信息被更改。因此,我需要更新與我目前使用builder.setMessage() – 2012-07-05 16:15:59