Урок 19. Пишем простой калькулятор

Обсуждение уроков
eagl69
Сообщения: 2
Зарегистрирован: 12 окт 2014, 15:14

Re: Урок 19. Пишем простой калькулятор

Сообщение eagl69 » 12 окт 2014, 15:16

Подскажите в чем ошибка: не проверяет деление на 0

Код: Выделить всё

case R.id.btnDiv:
	     
	    	  oper = "/";
	     if (num2 != 0)
		    {
		      result = num1 / num2;
		
		    }
	      if (num2 == 0)
	      	{
	    	  tvResult.setText("На 0 нельзя делить");
	    
	      	}
	      
	      break;

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 19. Пишем простой калькулятор

Сообщение klblk » 13 окт 2014, 08:07

1) откройте для себя "else"
2) в уроке есть такая строчка в конце метода onClick:
[syntax=java]tvResult.setText(num1 + " " + oper + " " + num2 + " = " + result);[/syntax]
и она сработает в любом случае. Чтобы вы не написали выше в tvResult, оно затрется этой строчкой.

Drozdoperma
Сообщения: 4
Зарегистрирован: 29 ноя 2014, 02:47

Re: Урок 19. Пишем простой калькулятор

Сообщение Drozdoperma » 29 ноя 2014, 02:54

Помогите, ребятки, не могу понять в чем дело, написал все по уроку, а приложение не запускается, при запуске пишет что в приложении произошла ошибка, как на эмуляторе так и нна реальном девайсе. Вот что пишет в логкат:
11-29 02:40:35.091: E/AndroidRuntime(11022): FATAL EXCEPTION: main
11-29 02:40:35.091: E/AndroidRuntime(11022): Process: com.example.p0191_simplecalculator, PID: 11022
11-29 02:40:35.091: E/AndroidRuntime(11022): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.p0191_simplecalculator/com.example.p0191_simplecalculator.MainActivity}: java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.EditText
11-29 02:40:35.091: E/AndroidRuntime(11022): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
11-29 02:40:35.091: E/AndroidRuntime(11022): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
11-29 02:40:35.091: E/AndroidRuntime(11022): at android.app.ActivityThread.access$800(ActivityThread.java:144)
11-29 02:40:35.091: E/AndroidRuntime(11022): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
11-29 02:40:35.091: E/AndroidRuntime(11022): at android.os.Handler.dispatchMessage(Handler.java:102)
11-29 02:40:35.091: E/AndroidRuntime(11022): at android.os.Looper.loop(Looper.java:135)
11-29 02:40:35.091: E/AndroidRuntime(11022): at android.app.ActivityThread.main(ActivityThread.java:5221)
11-29 02:40:35.091: E/AndroidRuntime(11022): at java.lang.reflect.Method.invoke(Native Method)
11-29 02:40:35.091: E/AndroidRuntime(11022): at java.lang.reflect.Method.invoke(Method.java:372)
11-29 02:40:35.091: E/AndroidRuntime(11022): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
11-29 02:40:35.091: E/AndroidRuntime(11022): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
11-29 02:40:35.091: E/AndroidRuntime(11022): Caused by: java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.EditText
11-29 02:40:35.091: E/AndroidRuntime(11022): at com.example.p0191_simplecalculator.MainActivity.onCreate(MainActivity.java:32)
11-29 02:40:35.091: E/AndroidRuntime(11022): at android.app.Activity.performCreate(Activity.java:5933)
11-29 02:40:35.091: E/AndroidRuntime(11022): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
11-29 02:40:35.091: E/AndroidRuntime(11022): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
11-29 02:40:35.091: E/AndroidRuntime(11022): ... 10 more
11-29 02:40:38.226: I/Process(11022): Sending signal. PID: 11022 SIG: 9

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Урок 19. Пишем простой калькулятор

Сообщение doter.ua » 29 ноя 2014, 18:24

MainActivity.java:32
LinearLayout cannot be cast to EditText
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Drozdoperma
Сообщения: 4
Зарегистрирован: 29 ноя 2014, 02:47

Re: Урок 19. Пишем простой калькулятор

Сообщение Drozdoperma » 29 ноя 2014, 23:38

И что это значит? почему возникает такая проблема, не могу в коде понять ошибки..., даже куда смотреть....

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Урок 19. Пишем простой калькулятор

Сообщение doter.ua » 30 ноя 2014, 02:20

Drozdoperma писал(а):И что это значит? почему возникает такая проблема, не могу в коде понять ошибки..., даже куда смотреть....
Это значит скинь код мейн активити, желательно целиком, либо фрагмент, но подпиши какая строчка под номером 32.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Drozdoperma
Сообщения: 4
Зарегистрирован: 29 ноя 2014, 02:47

Re: Урок 19. Пишем простой калькулятор

Сообщение Drozdoperma » 30 ноя 2014, 14:58

Строчка 32 то это вроде надо смотреть в MainActivity.java, вот фрагмент из этого файла, строка 32 отмечена в начаале строки.

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

etNum1 = (EditText) findViewById (R.id.etNum1);
32: etNum2 = (EditText) findViewById (R.id.etNum2);
btnAdd = (Button) findViewById (R.id.btnAdd);
btnSub = (Button) findViewById (R.id.btnSub);
btnMult = (Button) findViewById (R.id.btnMult);
btnDiv = (Button) findViewById (R.id.btnDiv);
tvResult = (TextView) findViewById (R.id.tvResult);

btnAdd.setOnClickListener(this);
btnSub.setOnClickListener(this);
btnMult.setOnClickListener(this);
btnDiv.setOnClickListener(this);
}

А вот код файла main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >



<LinearLayout
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10pt"
android:layout_marginRight="10pt"
android:layout_marginTop="3pt" >

<EditText
android:id="@+id/etNum1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="5pt"
android:layout_weight="1"
android:inputType="numberDecimal">
<requestFocus />
</EditText>

<EditText
android:id="@+id/etNum2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="5pt"
android:layout_weight="1"
android:inputType="numberDecimal" >

</EditText>
</LinearLayout>

<LinearLayout
android:id="@+id/LinearLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5pt"
android:layout_marginRight="5pt"
android:layout_marginTop="3pt" >

<Button
android:id="@+id/btnAdd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="+"
android:textSize="8pt">
</Button>

<Button
android:id="@+id/btnSub"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="-"
android:textSize="8pt">
</Button>

<Button
android:id="@+id/btnMult"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="*"
android:textSize="8pt">
</Button>

<Button
android:id="@+id/btnDiv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="/"
android:textSize="8pt">
</Button>

</LinearLayout>

<TextView
android:id="@+id/tvResult"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5pt"
android:layout_marginRight="5pt"
android:layout_marginTop="3pt"
android:gravity="center_horizontal"
android:textSize="12pt">
</TextView>

</LinearLayout>

Drozdoperma
Сообщения: 4
Зарегистрирован: 29 ноя 2014, 02:47

Re: Урок 19. Пишем простой калькулятор

Сообщение Drozdoperma » 30 ноя 2014, 15:10

Проблема решилась тем что удалил элемент EditText etNum2 из .xml, закоментировал строку поиска этого элемента по id в mainActivity.java, запустил приложение с одним полем ввода текста, потом снова вставил EditText etNum2 в xml, раскоментил строку в MainActivity.java и все запустилось нормально, так и не понял в чем было дело

Ivan2007
Сообщения: 22
Зарегистрирован: 05 янв 2015, 19:55

Re: Урок 19. Пишем простой калькулятор

Сообщение Ivan2007 » 11 янв 2015, 05:21

Здравствуйте.В уроке оба EditText расположены на одной строке,равномерно делящие строку.У меня получилось несколько иначе.Смотрю свой xml код и код в уроке,все вроде одинаково...кто чем поделится?

Код: Выделить всё

<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="wrap_content"
    android:orientation="vertical">
    
    <LinearLayout
        android:id="@+id/LinearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_marginLeft="10pt"
        android:layout_marginRight="10pt"
        android:layout_marginTop="3pt">
    
    <EditText
        android:id="@+id/etNum1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginRight="5pt"
        android:layout_weight="1"
        android:inputType="numberDecimal">
        
    </EditText>

    <EditText
        android:id="@+id/etNum2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5pt"
        android:layout_weight="1"
        android:ems="10"
        android:inputType="numberDecimal" />

    </LinearLayout>
    <LinearLayout
        android:id="@+id/LinearLayout2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5pt"
        android:layout_marginRight="5pt"
        android:layout_marginTop="3pt" >
        
        <Button
           android:layout_height="wrap_content"
           android:layout_width="match_parent"
           android:layout_weight="1"
           android:text="+"
           android:textSize="8pt"
           android:id="@+id/btnAdd">
         </Button>
        <Button
          android:layout_height="wrap_content"
          android:layout_width="match_parent"
          android:layout_weight="1"
          android:text="-"
          android:textSize="8pt"
          android:id="@+id/btnSub">
        </Button>
        <Button
          android:layout_height="wrap_content"
          android:layout_width="match_parent"  
          android:layout_weight="1"
          android:text="*"
          android:textSize="8pt"
          android:id="@+id/btnMult">
            
        </Button>
        <Button
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_weight="1"
            android:text="/"
            android:textSize="8pt"
            android:id="@+id/btnDiv">
        </Button>"
        
    </LinearLayout>
    
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_marginLeft="5pt"
            android:layout_marginRight="5pt"
            android:textSize="12pt"
            android:layout_marginTop="3pt"
            android:id="@+id/tvResult"
            android:gravity="center_horizontal">
            
        </TextView>
      
     
        
    
</LinearLayout>
    
Вложения
P0191.png
P0191.png (14.05 КБ) 15851 просмотр

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 19. Пишем простой калькулятор

Сообщение Foenix » 11 янв 2015, 12:28

ориентацию второму ЛЛ поставь горизонтальную. у тебя вертикальная стоит же.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

GRAF_COLLIOSTRO
Сообщения: 115
Зарегистрирован: 08 янв 2015, 14:32

Re: Урок 19. Пишем простой калькулятор

Сообщение GRAF_COLLIOSTRO » 12 янв 2015, 10:03

в стандартном примере не понравился формат вывода целых значений
заменил вывод вот так:
// формируем строку вывода
if ((int)(result)==result)
{tvResult.setText(num1 + " " + oper + " " + num2 + " = " + (int)(result));
}
else
{
tvResult.setText(num1 + " " + oper + " " + num2 + " = " + result);
}
то есть, если ответ является целым числом, то выводим его без дробной части, а в противном случае выводим как и раньше с дробной.
может кому пригодится...

xSlon
Сообщения: 1
Зарегистрирован: 26 фев 2015, 20:38

Re: Урок 19. Пишем простой калькулятор

Сообщение xSlon » 26 фев 2015, 20:42

Добрый день! Подскажите, пожалуйста, в чем ошибка?
main.xml взял из урока
MainActivity:

Код: Выделить всё

public class MainActivity extends ActionBarActivity implements View.OnClickListener {
    EditText etNum1;
    EditText etNum2;
    Button btnAdd;
    Button btnSub;
    Button btnMult;
    Button btnDiv;
    TextView tvResult;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        etNum1 = (EditText) findViewById(R.id.etNum1);
        etNum2 = (EditText) findViewById(R.id.etNum2);
        Button btnAdd = (Button) findViewById(R.id.btnAdd);
        Button btnSub = (Button) findViewById(R.id.btnSub);
        Button btnMult = (Button) findViewById(R.id.btnMult);
        Button btnDiv = (Button) findViewById(R.id.btnDiv);
        btnAdd.setOnClickListener(this);
        btnDiv.setOnClickListener(this);
        btnMult.setOnClickListener(this);
        btnSub.setOnClickListener(this);
        TextView tvResult = (TextView) findViewById(R.id.tvResult);

    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

    @Override
    public void onClick(View v) {
        float num1 = 0;
        float num2 = 0;
        float result = 0;
        if (TextUtils.isEmpty(etNum1.getText().toString()) || TextUtils.isEmpty(etNum2.getText().toString())) {
        return;
        }
        num1 = Float.parseFloat(etNum1.getText().toString());
        num2 = Float.parseFloat(etNum2.getText().toString());
        switch (v.getId()) {
            case R.id.btnAdd:
            result = num1 + num2;
            break;
            case R.id.btnSub:
            result = num1 - num2;
            break;
            case R.id.btnMult:
                result = num1*num2;
                break;
            case R.id.btnDiv:
                result = num1/num2;
                break;
        }
       tvResult.setText("" + result);
    }
}
debugger'ом проверял - result в конце ненулевой.

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 19. Пишем простой калькулятор

Сообщение klblk » 27 фев 2015, 07:06

Мы можем сказать в чем ошибка если будем знать где ошибка, а для этого нужны логи ошибки.

Архангел Михаил
Сообщения: 2
Зарегистрирован: 21 фев 2015, 19:35

Re: Урок 19. Пишем простой калькулятор

Сообщение Архангел Михаил » 28 фев 2015, 19:29

Всем привет! у меня вопрос, только просьба не смеяться. в описании кнопок, таких как "*", "/", "+", "-". в описании id пишется "@+id/btnDi" как например мне, понять что именно писать? я имею в виду почему именно Di, а не что нить другое. возможно это смешно, но мне важно понять такие мелкие детали. заранее спасибо!

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Урок 19. Пишем простой калькулятор

Сообщение doter.ua » 28 фев 2015, 22:42

Архангел Михаил писал(а):Всем привет! у меня вопрос, только просьба не смеяться. в описании кнопок, таких как "*", "/", "+", "-". в описании id пишется "@+id/btnDi" как например мне, понять что именно писать? я имею в виду почему именно Di, а не что нить другое. возможно это смешно, но мне важно понять такие мелкие детали. заранее спасибо!
Пиши так, чтобы когда через месяц посмотришь на этот код ,мог понять что это за переменная. (ну или кто-нить другой понял.) Div от divide - делить, add - сложить, инлишь онли кароч :D
https://ru.wikipedia.org/wiki/%D0%A1%D1 ... 0%B4%D0%B0
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 19. Пишем простой калькулятор

Сообщение Foenix » 01 мар 2015, 01:54

Там указывается любой идентификатор. Просто принято давать осмысленные названия и ставит префиксы, чтоб можно было отличить один контроль от другого
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Ann1212
Сообщения: 2
Зарегистрирован: 01 мар 2015, 11:22

Re: Урок 19. Пишем простой калькулятор

Сообщение Ann1212 » 02 мар 2015, 18:52

Большое спасибо за урок, все очень наглядно, но у меня такая проблема:
Я создала еще две кнопки "Удалить все"(btnDelete) и "Выход"(btnExit) (потому что мне показалось, что лезть за ними в меню не совсем удобно)
Но кнопка "Выход" не нажимается, хотя рядом стоящая "Удалить все" работает...
Где моя ошибка?

Код: Выделить всё

package com.example.ann.Calculator;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
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;
import android.widget.Toast;

import java.math.BigDecimal;
import java.text.DecimalFormat;


public class MainActivity extends ActionBarActivity implements View.OnClickListener {

    final int MENU_RESET_ID = 1;
    final int MENU_QUIT_ID = 2;
     Double num1;

     Double num2;
    EditText etNum1;
     BigDecimal result=null;
    EditText etNum2;
     Double num3;
    Button btnAdd;
    Button btnSub;
    Button btnMult;
    Button btnDiv;
    Button btnExit;
    Button btnDelete;

    TextView tvResult;


    String oper = "";

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


        etNum1 = (EditText) findViewById(R.id.etNum1);
        etNum2 = (EditText) findViewById(R.id.etNum2);

        btnAdd = (Button) findViewById(R.id.btnAdd);
        btnSub = (Button) findViewById(R.id.btnSub);
        btnMult = (Button) findViewById(R.id.btnMult);
        btnDiv = (Button) findViewById(R.id.btnDiv);
        btnExit = (Button) findViewById(R.id.btnExit);
        btnDelete = (Button) findViewById(R.id.btnDelete);

        tvResult = (TextView) findViewById(R.id.tvResult);

        btnAdd.setOnClickListener(this);
        btnSub.setOnClickListener(this);
        btnMult.setOnClickListener(this);
        btnDiv.setOnClickListener(this);
        btnExit.setOnClickListener(this);
        btnDelete.setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub




        // Проверяем поля на пустоту
        if (TextUtils.isEmpty(etNum1.getText().toString())
                || TextUtils.isEmpty(etNum2.getText().toString())) {
            return;
        }


        // читаем EditText и заполняем переменные числами
        num1 = Double.parseDouble(etNum1.getText().toString());
        num2 = Double.parseDouble(etNum2.getText().toString());

        // определяем нажатую кнопку и выполняем соответствующую операцию
        // в oper пишем операцию, потом будем использовать в выводе
        switch (v.getId()) {
            case R.id.btnAdd:
                oper = "+";
                num3 = num1 + num2;
                result= BigDecimal.valueOf(num3).setScale(3, BigDecimal.ROUND_HALF_DOWN);
                break;
            case R.id.btnSub:
                oper = "-";
                num3 = num1 - num2;
                result= BigDecimal.valueOf(num3).setScale(4, BigDecimal.ROUND_HALF_DOWN);
                break;
            case R.id.btnMult:
                oper = "*";
                num3 = num1 * num2;
                 result= BigDecimal.valueOf(num3).setScale(4, BigDecimal.ROUND_HALF_DOWN);
                break;
            case R.id.btnDiv:
                oper = "/";
                num3 = num1 / num2;
                result= BigDecimal.valueOf(num3).setScale(4, BigDecimal.ROUND_HALF_DOWN);
                if (num2==0) {tvResult.setText("На ноль делить нельзя");
                    etNum2.setText("");
                    return; }
                break;
            case R.id.btnExit:
                finish();
                break;
            case R.id.btnDelete:
                etNum1.setText("");
                etNum2.setText("");
                tvResult.setText("");
                break;
            default:
                break;





        }

        // формируем строку вывода

        String str1 = new DecimalFormat("#######.############").format(result);
        tvResult.setText(num1 + " " + oper + " " + num2 + " = " + str1);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main,
                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:
// очищаем поля
                etNum1.setText("");
                etNum2.setText("");
                tvResult.setText("");
                break;
            case MENU_QUIT_ID:
finish();

                
                break;

            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.

        }

        return true;
    }
}
Последний раз редактировалось Ann1212 04 мар 2015, 20:35, всего редактировалось 1 раз.

Eagle
Сообщения: 13
Зарегистрирован: 28 фев 2015, 12:54

Re: Урок 19. Пишем простой калькулятор

Сообщение Eagle » 04 мар 2015, 15:32

Подскажите как прописать в коде:

// очищаем поля
tvTime.setText("");
tvDate.setText("");
break;
case MENU_QUIT_ID:
так чтобы он мой текст вью не удалял, а только его содержимое, т.е после нажатия "очистить" я не могу снова написать текст

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Урок 19. Пишем простой калькулятор

Сообщение doter.ua » 04 мар 2015, 16:24

Eagle писал(а):Подскажите как прописать в коде:

// очищаем поля
tvTime.setText("");
tvDate.setText("");
break;
case MENU_QUIT_ID:
так чтобы он мой текст вью не удалял, а только его содержимое, т.е после нажатия "очистить" я не могу снова написать текст
В уроке тв не удаляется, конкретнее опиши проблему, больше кода.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Eagle
Сообщения: 13
Зарегистрирован: 28 фев 2015, 12:54

Re: Урок 19. Пишем простой калькулятор

Сообщение Eagle » 04 мар 2015, 16:35

Подскажите как прописать в коде:

// очищаем поля
tvTime.setText("");
tvDate.setText("");
break;
case MENU_QUIT_ID:
так чтобы он мой текст вью не удалял, а только его содержимое, т.е после нажатия "очистить" я не могу снова написать текст[/quote]
В уроке тв не удаляется, конкретнее опиши проблему, больше кода.[/quote]

В уроке вместо tv стоят кнопки Num вроде ( я поставил свой текст)

И так после нажатия на кнопку "ОЧИСТИТЬ" (текст походу вообще удаляется и надо приложение заново открывать)

Вот: tvTime - время (текст)
tvDate - дата (текст)

нажимаю очистить - текста нет и никак диалог не вызвать, а можно ли сделать чтобы после ОЧИСТКИ появлялись снова "Дата" и "Время"?
Вложения
DpoumhpAKMA.jpg
DpoumhpAKMA.jpg (49.49 КБ) 15743 просмотра
q1Byi9a_L4A.jpg
q1Byi9a_L4A.jpg (47.02 КБ) 15743 просмотра

Ответить