Обновить EditText после нажатия кнопки - PullRequest
0 голосов
/ 14 апреля 2011

Этот EditText находится внутри Activity, которая является частью TabHost в основной Activity. Предполагается, что это будет 4 вкладки с EditText и двумя кнопками на каждой, одна для увеличения и одна для уменьшения поля EditText. Однако, если я когда-либо попытаюсь установить setText () в одном из полей EditText, приложение вылетает. Поэтому, когда я вызываю setText () в onCreate (), происходит сбой. Любая помощь будет принята с благодарностью!

<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);
}

Ответы [ 2 ]

1 голос
/ 14 апреля 2011

В вашем xml измените

<code>android:label="@+id/LifeForP1"
на
<code>android:id="@+id/LifeForP1"
0 голосов
/ 14 апреля 2011

Когда вы привязываете свой EditBox в коде, вы ссылаетесь на

findViewById(R.id.LifeForP1);

Это означает, что для EditBox требуется идентификатор.

Если вы измените android:label на android:id ваш кодбудет работать нормально

...