<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Свет" android:id="@+id/textView" android:layout_gravity="center_horizontal" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Ведите тариф" android:id="@+id/textView2" />
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="numberDecimal"
android:hint="ведите тариф" android:id="@+id/tarif" />
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/pokazaniya" android:hint="Введите показания счетчика" android:inputType="numberDecimal" />
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/itogo_svet" android:layout_gravity="center_horizontal" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Горячая вода" android:id="@+id/textView3" android:layout_gravity="center_horizontal" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Введите тарифную ставку" android:id="@+id/textView4" />
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Тарифная ставка" android:inputType="numberDecimal" android:id="@+id/gorvoda_tarif" />
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="показания счетчика" android:inputType="numberDecimal" android:id="@+id/sch_voda_gor" />
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/tv_itogo_voda" />
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right">
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Посчитать" android:id="@+id/button_poschitat" />
</LinearLayout>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/tv_itogo_obhee" android:layout_gravity="right" />
</LinearLayout>
package amurdroid.schetovod;
import android.app.Activity;import android.os.Bundle;import android.text.TextUtils;
import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;
public class MainActivity extends Activity implements View.OnClickListener {
final int MENU_RESET_ID = 1;//Добавим две константы – это будут ID пунктов меню. final int MENU_QUIT_ID = 2;
static final String SaveTextEditA = "TEXTEDIT_A_STATE"; static final String SaveTextEditB = "TEXTEDIT_B_STATE";
EditText editText_tarif; EditText editText_schetchik; EditText EditText_tarif_gorvoda; EditText EditText_schet_gorvoda; Button btnSchet;
TextView tvItogo; TextView tvItogo_gorvoda; TextView tvItogo_obhee;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText_schetchik = (EditText) findViewById(R.id.pokazaniya); editText_tarif = (EditText) findViewById(R.id.tarif); EditText_schet_gorvoda = (EditText) findViewById(R.id.sch_voda_gor); EditText_tarif_gorvoda = (EditText) findViewById(R.id.gorvoda_tarif); btnSchet = (Button) findViewById(R.id.button_poschitat); tvItogo = (TextView) findViewById(R.id.itogo_svet); tvItogo_gorvoda = (TextView) findViewById(R.id.tv_itogo_voda); tvItogo_obhee = (TextView) findViewById(R.id.tv_itogo_obhee);
btnSchet.setOnClickListener(this); }
@Override public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, MENU_RESET_ID, 0, "Очистить"); menu.add(0, MENU_QUIT_ID, 0, "Выход");
return true; }
@Override public boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {
case MENU_RESET_ID:
// очищаем поля editText_schetchik.setText(""); EditText_schet_gorvoda.setText(""); tvItogo_obhee.setText(""); tvItogo.setText(""); tvItogo_gorvoda.setText(""); break;
case MENU_QUIT_ID:
// выход из приложения finish(); break;
}
return super.onOptionsItemSelected(item); }
@Override public void onClick(View v) {
double num1 = 0; double num2 = 0; double num3 = 0; double num4 = 0; double result1 = 0; double result2 = 0; double result3 = 0; if (TextUtils.isEmpty(editText_schetchik.getText().toString())//проверяем поля на пустоту || TextUtils.isEmpty(editText_tarif.getText().toString())) {
return; }
if (TextUtils.isEmpty(EditText_schet_gorvoda.getText().toString())//проверяем поля на пустоту || TextUtils.isEmpty(EditText_tarif_gorvoda.getText().toString())) {
return; }
//читаем EditText и заполняем переменные числами num1 = Double.valueOf(editText_tarif.getText().toString()); num2 = Double.valueOf(editText_schetchik.getText().toString()); num3 = Double.valueOf(EditText_schet_gorvoda.getText().toString()); num4 = Double.valueOf(EditText_tarif_gorvoda.getText().toString());
//обрабатываем кнопки switch (v.getId()) {
case R.id.button_poschitat:
result1 = num1 * num2; result2 = num3 * num4; result3 = result1 + result2;
break; default:
}
//формируем строку вывода tvItogo.setText(String.valueOf(result1)); tvItogo_gorvoda.setText(String.valueOf(result2)); tvItogo_obhee.setText(String.valueOf(result3));
}
@Override protected void onSaveInstanceState(Bundle savedInstanceState) {
// получаем ссылку на поле ввода текста tvItogo = (TextView) findViewById(R.id.tv_itogo_obhee); tvItogo_gorvoda = (TextView) findViewById(R.id.tv_itogo_voda);
// сохраняем состояние поля ввода текста savedInstanceState.putString(SaveTextEditA, tvItogo.getText()
.toString()); savedInstanceState.putString(SaveTextEditB, tvItogo_gorvoda.getText()
.toString());
// всегда вызывайте супер класс чтобы сохранить // состояние всех view активности super.onSaveInstanceState(savedInstanceState);
}
@Override protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState); // находим текстовое поле по его идентификатору tvItogo = (TextView) findViewById(R.id.tv_itogo_obhee); tvItogo_gorvoda = (TextView) findViewById(R.id.tv_itogo_voda); // и присваиваем ему сохраненное в методе onSaveInstanceState значение tvItogo.setText(savedInstanceState.getString(SaveTextEditA)); tvItogo_gorvoda.setText(savedInstanceState.getString(SaveTextEditB));
}
}