Кнопки, не добавляемые в текстовое представление «всего»

#android

Вопрос:

Я новичок в Android studio и создал 3 кнопки. Код 1 кнопки выглядит следующим образом,

   lt;Button  android:id="@ id/button2"  android:layout_width="160dp"  android:layout_height="120dp"  android:layout_marginBottom="434dp"  android:contentDescription="5"  android:text="$5"  android:textSize="70sp"  android:onClick="addTotal"  app:layout_constraintBottom_toBottomOf="parent"  app:layout_constraintEnd_toEndOf="parent"  app:layout_constraintTop_toTopOf="parent"  app:layout_constraintVertical_bias="0.39" /gt;    

MainActivity.java

 public class MainActivity extends AppCompatActivity {   @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);   // Initialize buttons  final Button button1 = findViewById(R.id.button1);  final Button button2 = findViewById(R.id.button2);  final Button button3 = findViewById(R.id.button3);  final TextView totalAmt = findViewById(R.id.totalAmt);   public void addTotal (View v) {   // $2 button  button1.setOnClickListener((View view) -gt; {  // Update total amount  double total = Double.parseDouble(totalAmt.getText().toString())   2;  String final_total = String.valueOf(total);  totalAmt.setText(final_total);   });   // $5 button  button2.setOnClickListener((View view) -gt; {  // Update total amount  double total = Double.parseDouble(totalAmt.getText().toString())   5;  String final_total = String.valueOf(total);  totalAmt.setText(final_total);   });   // $8 button  button3.setOnClickListener((View view) -gt; {  // Update total amount  double total = Double.parseDouble(totalAmt.getText().toString())   8;  String final_total = String.valueOf(total);  totalAmt.setText(final_total);   });  }  } }  

Назначение 3 кнопок состоит в том, чтобы добавить 2, 5, 8 к общему текстовому представлению

Что я делаю не так?

Спасибо!

Ответ №1:

Вам не нужно добавлять onClick XML-файл. У вас неверное объявление в MainActivity. Скопируйте следующий код, теперь он будет работать правильно

xml

 lt;Button  android:id="@ id/button2"  android:layout_width="160dp"  android:layout_height="120dp"  android:layout_marginBottom="434dp"  android:contentDescription="5"  android:text="$5"  android:textSize="70sp"  app:layout_constraintBottom_toBottomOf="parent"  app:layout_constraintEnd_toEndOf="parent"  app:layout_constraintTop_toTopOf="parent"  app:layout_constraintVertical_bias="0.39" /gt;   

MainActivity.java

 public class MainActivity extends AppCompatActivity {   Button button1, button2, button3;  TextView totalAmt;  double total = 0;   @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);   // Initialize buttons  button1 = findViewById(R.id.button1);  button2 = findViewById(R.id.button2);  button3 = findViewById(R.id.button3);  totalAmt = findViewById(R.id.totalAmt);  totalAmt.setText("0");    addTotal();   }   public void addTotal() {   // $2 button  button1.setOnClickListener((View view) -gt; {  // Update total amount  total = Double.parseDouble(totalAmt.getText().toString())   2;  String final_total = String.valueOf(total);  totalAmt.setText(final_total);   });   // $5 button  button2.setOnClickListener((View view) -gt; {  // Update total amount  total = Double.parseDouble(totalAmt.getText().toString())   5;  String final_total = String.valueOf(total);  totalAmt.setText(final_total);   });   // $8 button  button3.setOnClickListener((View view) -gt; {  // Update total amount  total = Double.parseDouble(totalAmt.getText().toString())   8;  String final_total = String.valueOf(total);  totalAmt.setText(final_total);   });  } }  

Комментарии:

1. Да, это работает!! Спасибо вам за помощь!