Нажмите кнопку «Событие», чтобы обновить TextView в Android Studio.Строит без ошибок, но не работает - PullRequest
0 голосов
/ 14 февраля 2019

Решено: Проблема была в том, что java не запущен, а не в самом коде.Исправлено, и кнопка работала.

Моя кнопка ничего не делает (кажется), когда я нажимаю ее в эмуляторе.Я пытаюсь обновить текст при нажатии кнопки.Я начал с прочтения Руководства по кнопкам для разработчиков Android и других ответов на вопросы, но даже когда при непосредственном копировании кода проголосовали за правильный ответ на многочисленные вопросы и, обновив названия своих предметов, ядо сих пор не могу заставить его работать.

Это текущий код Java:

public class PlusMinus extends Activity {

TextView mcvalue;
Button sub;

@Override

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_fullscreen);
    mcvalue= (TextView) findViewById(R.id.mcvalue);
    sub= (Button) findViewById(R.id.bSub5MC);

    sub.setOnClickListener(new View.OnClickListener() {

        public void onClick(View paramView) {
            mcvalue.setText("Click");
        }
    });

}}

Это соответствующий .xml для текста, который я хочу обновить, и кнопки.Существует больше .xml окружающих его, связанных с макетом таблицы, который я использовал, но я не думаю, что это уместно (если это так, я могу добавить все это).

 <Button
            android:id="@+id/bSub5MC"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:keepScreenOn="false"
            android:text="@string/subtract_five"
            android:textSize="20sp" />

<TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:background="#FFD700"
            android:layout_gravity="center_vertical|center_horizontal"
            android:id="@+id/mcvalue"
            android:text="@string/megacredits_name"
            android:textColor="#000000"
            android:textSize="20sp" />   

Я хочу заменить текст @ string / megacredits_name, отображаемый как «MC», на «Click».В конце концов, я планирую сделать с ним несколько сложений / вычитаний, но сначала попытаюсь выяснить простейший строительный блок, прежде чем расширять его.

Спасибо

Редактировать: LogCat удален, поскольку он не был 'полезно.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

в файле макета положить layout_weight:

<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">
<Button
    android:id="@+id/bSub5MC"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical|center_horizontal"
    android:keepScreenOn="false"
    android:text="click"
    android:textSize="20sp" />

<TextView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:background="#FFD700"
    android:id="@+id/mcvalue"
    android:layout_weight="1"
    android:layout_gravity="center_vertical|center_horizontal"
    android:text="name"
    android:textColor="#000000"
    android:textSize="20sp" />

</LinearLayout>

и в файле Java:

  TextView mcvalue;
    Button sub;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.item_check);

        mcvalue= (TextView) findViewById(R.id.mcvalue);
        sub= (Button) findViewById(R.id.bSub5MC);

        sub.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mcvalue.setText("click");
            }
        });
}
0 голосов
/ 14 февраля 2019

изменить android: layout_width = "0dp" на android: layout_width = "wrap_content" TextView и кнопки.а затем идентификатор для TextView, т.е. android: id = "@ + id / mcvalue"

<TextView
        android:id="@+id/mcvalue"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#FFD700"
        android:layout_gravity="center_vertical|center_horizontal"
        android:text="@string/megacredits_name"
        android:textColor="#000000"
        android:textSize="20sp" />  
...