单击Button后更新EditText

| 此EditText位于活动内,该活动是主活动内TabHost的一部分。它应该是4个选项卡,每个选项卡上都有一个EditText,两个按钮分别,一个用于递增,另一个用于递减EditText字段。但是,如果我尝试在其中一个EditText框上设置setText(),则应用程序将崩溃。因此,当我在onCreate()中调用setText()时会崩溃。任何帮助将不胜感激!
<EditText
    android:label=\"@+id/LifeForP1\"
    android:layout_width=\"wrap_content\"
    android:layout_height=\"wrap_content\"
    android:autoText=\"true\"
    android:cursorVisible=\"false\"
    android:background=\"@null\"
    android:textColor=\"#999999\"
    android:color=\"@null\"
    android:layout_x=\"90px\"
    android:layout_y=\"0px\"
    android:textSize=\"250px\"
    android:maxLength=\"3\"
    android:capitalize=\"sentences\"
    android:layout_weight=\"1\"
    android:freezesText=\"true\"
    android:text=\"20\"
/>

public class ActivityTab1 extends Activity {

private EditText lifeView;
int p1Life = 20;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.content1layout);

    lifeView = (EditText) findViewById(R.id.LifeForP1);
    lifeView.setText(getString(R.string.lifeStart)); //Error here
}

@Override
protected void onResume() {
    super.onResume();
}

public void p1GainLifeListener(View view) {
    AlertDialog alertDialog = new AlertDialog.Builder(this).create();
    alertDialog.setTitle(\"test gain 1\");
    alertDialog.show();
    //String show = String.format(\"\", Integer.toString(++p1Life));
    //lifeView.setText(show);
}
    
已邀请:
在您的xml中,更改
android:label=\"@+id/LifeForP1\"
android:id=\"@+id/LifeForP1\"
    
当您在代码中绑定EditBox时,要引用
findViewById(R.id.LifeForP1);
这意味着EditBox需要一个ID。 如果您将
android:label
更改为
android:id
,您的代码将可以正常运行     

要回复问题请先登录注册