Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 14 ноя 2018, 16:28

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 115 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
СообщениеДобавлено: 16 янв 2015, 13:08 
Аватар пользователя

Зарегистрирован: 17 фев 2012, 21:23
Сообщений: 1339
Откуда: Мордор
Благодарил (а): 16 раз.
Поблагодарили: 161 раз.
Конструктор Activity это:
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. public Activity() {
  2.     ...
  3. }

Его можно перегрузить, но вы не можете добавлять в него свои параметры.

Конструктор без параметров позволяет сделать следующую хитрость:
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. Class activtyClass = MyActivity.class.
  2. Activity activity = activtyClass.newInstance();
Собственно, система такой хитростью и пользуется. И не только для Activity но и для Fragment, Service, BroadcastReceiver и многих других.

Замечание! Activity не должна иметь конструктор с параметрами.

_________________
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 16 янв 2015, 13:14 
Аватар пользователя

Зарегистрирован: 13 ноя 2013, 14:46
Сообщений: 1956
Благодарил (а): 10 раз.
Поблагодарили: 275 раз.
Fry писал(а):

Вот у Активити ведь конструктор

Вы в этом уверенны ? :)

_________________
Изображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 16 янв 2015, 13:57 
Аватар пользователя

Зарегистрирован: 07 дек 2013, 22:07
Сообщений: 182
Благодарил (а): 7 раз.
Поблагодарили: 0 раз.
altwin писал(а):
Вот у Активити ведь конструктор
Вы в этом уверенны ? :)


Это ж класс :)

Не знаю правда, как активити вызвать без интента, а он на вход принимает не объект а класс )

_________________
Arbeit macht Fry


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 16 янв 2015, 14:04 
Аватар пользователя

Зарегистрирован: 07 дек 2013, 22:07
Сообщений: 182
Благодарил (а): 7 раз.
Поблагодарили: 0 раз.
KamiSempai писал(а):
Его можно перегрузить, но вы не можете добавлять в него свои параметры.


Это интересно )

Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. Activity activity = activtyClass.newInstance();


У меня вызывает ошибку.

Error:(43, 53) error: incompatible types: Object cannot be converted to Activity

ЗЫ. Если удастся так сделать, можно ведь задействовать сеттеры для передачи данных в объект активити. Опять таки - любые данные без заморочек :)

_________________
Arbeit macht Fry


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 16 янв 2015, 14:11 
Аватар пользователя

Зарегистрирован: 13 ноя 2013, 14:46
Сообщений: 1956
Благодарил (а): 10 раз.
Поблагодарили: 275 раз.
Fry писал(а):
altwin писал(а):
Вот у Активити ведь конструктор
Вы в этом уверенны ? :)


Это ж класс :)

Собственно все ответы тут: https://github.com/android/platform_fra ... .java#L660

ну а интент.. это же всеголишь интент и он тут: https://github.com/android/platform_fra ... .java#L814

Activity -это действительно просто класс содержащий логику о порядке вызова методов + инициализирующий переменные. Я вообще давно об этом не думал и не обращал внимание, но мне проще думать, что у Activity - нет конструктора.

Если честно я не особо помню, но если не ошибаюсь сам контекст формируется тут: https://github.com/android/platform_fra ... .java#L669 , ну а остальное - просто цепочка методов, т.е. даже если бы у Activity и был конструктор - переобпределять его бесполезно, т.к. во первых объект не создается, во вторых он всеравно не будет задействован в цепочке инициализации.

_________________
Изображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 20 июн 2015, 13:46 

Зарегистрирован: 14 май 2015, 21:48
Сообщений: 6
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Поскажите что не так в коде. Заранее спасибо.

мейн
package ua.lion.extrasint;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;


public class MainActivity extends Activity implements View.OnClickListener {

TextView tv;
Button btn;
int num;




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

tv = (TextView) findViewById(R.id.textView);
btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(this);

num = 5;








}



@Override
public void onClick(View v) {
Intent inp = new Intent(this, Calc.class);
inp.putExtra("inter", num);
startActivity(inp);



}
}

второй активити
package ua.lion.extrasint;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;


public class Calc extends Activity {

TextView tv2;

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

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

Intent intent = getIntent();

int number = intent.getIntExtra("inter", 0);
tv2.setText(number);

}


}


Последний раз редактировалось RuslanLion 21 июн 2015, 15:38, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 20 июн 2015, 16:37 
Аватар пользователя

Зарегистрирован: 14 июн 2015, 19:50
Сообщений: 42
Благодарил (а): 9 раз.
Поблагодарили: 0 раз.
Горячая тема.. ух
может кто подскажет, как открыть приложение "стандартные заметки" из своего приложения


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 10 июл 2015, 17:52 

Зарегистрирован: 10 июл 2015, 17:48
Сообщений: 6
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Добрый день.
Данный вопрос уже неоднократно звучал в этой ветке, но я чего-то недопонял...
У меня не получается передать int из одного activity в другой.
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. package ua.pp.dreamer.rent.v1;
  2.  
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.support.v7.app.ActionBarActivity;
  6. import android.view.Menu;
  7. import android.view.MenuItem;
  8. import android.view.View;
  9. import android.view.View.OnClickListener;
  10. import android.widget.Button;
  11. import android.widget.EditText;
  12.  
  13. public class MainActivity extends ActionBarActivity implements OnClickListener {
  14.        
  15.         EditText Mounth_input;
  16.         EditText Year_input;
  17.         EditText RentPay_input;
  18.         EditText ELimit_input;
  19.         EditText ELowPrice_input;
  20.         EditText EHiPrice_input;
  21.         EditText EPrevious_input;
  22.         EditText ECurrent_input;
  23.         EditText WPrice_input;
  24.         EditText WPrevious_input;
  25.         EditText WCurrent_input;
  26.         EditText Heating_input;
  27.         EditText Debt_input;
  28.        
  29.         Button button_calc;
  30.  
  31.         @Override
  32.         protected void onCreate(Bundle savedInstanceState) {
  33.                 super.onCreate(savedInstanceState);
  34.                 setContentView(R.layout.activity_main);
  35.                
  36.                 Mounth_input = (EditText) findViewById(R.id.Mounth_input);
  37.                 Year_input = (EditText) findViewById(R.id.Year_input);
  38.                 RentPay_input = (EditText) findViewById(R.id.RentPay_input);
  39.                 ELimit_input = (EditText) findViewById(R.id.ELimit_input);
  40.                 ELowPrice_input = (EditText) findViewById(R.id.ELowPrice_input);
  41.                 EHiPrice_input = (EditText) findViewById(R.id.EHiPrice_input);
  42.                 EPrevious_input = (EditText) findViewById(R.id.EPrevious_input);
  43.                 ECurrent_input = (EditText) findViewById(R.id.ECurrent_input);
  44.                 WPrice_input = (EditText) findViewById(R.id.WPrice_input);
  45.                 WPrevious_input = (EditText) findViewById(R.id.WPrevious_input);
  46.                 WCurrent_input = (EditText) findViewById(R.id.WCurrent_input);
  47.                 Heating_input = (EditText) findViewById(R.id.Heating_input);
  48.                 Debt_input = (EditText) findViewById(R.id.Debt_input);
  49.                
  50.                 button_calc = (Button) findViewById(R.id.button_calc);
  51.                 button_calc.setOnClickListener(this);
  52.         }
  53.  
  54.         @Override
  55.         public boolean onCreateOptionsMenu(Menu menu) {
  56.                 // Inflate the menu; this adds items to the action bar if it is present.
  57.                 getMenuInflater().inflate(R.menu.main, menu);
  58.                 return true;
  59.         }
  60.  
  61.         @Override
  62.         public boolean onOptionsItemSelected(MenuItem item) {
  63.                 // Handle action bar item clicks here. The action bar will
  64.                 // automatically handle clicks on the Home/Up button, so long
  65.                 // as you specify a parent activity in AndroidManifest.xml.
  66.                 int id = item.getItemId();
  67.                 if (id == R.id.action_settings) {
  68.                         return true;
  69.                 }
  70.                 return super.onOptionsItemSelected(item);
  71.         }
  72.  
  73.         public void onClick(View v) {
  74.                 // TODO Auto-generated method stub
  75.                 Intent intent = new Intent (this, CalcActivity.class);
  76.                
  77.                 intent.putExtra("Mounth_input", Mounth_input.getText().toString());
  78.                 intent.putExtra("Year_input", Year_input.getText().toString());
  79.                 intent.putExtra("RentPay_input", RentPay_input.getText().toString());
  80.                 intent.putExtra("ELimit_input", ELimit_input.getText().toString());
  81.                 intent.putExtra("ELowPrice_input", ELowPrice_input.getText().toString());
  82.                 intent.putExtra("EHiPrice_input", EHiPrice_input.getText().toString());
  83.                 intent.putExtra("EPrevious_input", EPrevious_input.getText().toString());
  84.                 intent.putExtra("ECurrent_input", ECurrent_input.getText().toString());
  85.                 intent.putExtra("WPrice_input", WPrice_input.getText().toString());
  86.                 intent.putExtra("WPrevious_input", WPrevious_input.getText().toString());
  87.                 intent.putExtra("WCurrent_input", WCurrent_input.getText().toString());
  88.                 intent.putExtra("Heating_input", Heating_input.getText().toString());
  89.                 intent.putExtra("Debt_input", Debt_input.getText().toString());
  90.                
  91.                 startActivity(intent);
  92.         }
  93. }
  94.  
  95.  


Вот со String работает а с int нет.
Отличие в строке 42

Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. package ua.pp.dreamer.rent.v1;
  2.  
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.widget.TextView;
  7.  
  8. public class CalcActivity extends Activity {
  9.        
  10.         TextView Top_txt;
  11.         TextView ECalc;
  12.         TextView EWater;
  13.         TextView Heating;
  14.         TextView Debt;
  15.         TextView Calc_show;
  16.         TextView Calc_total;
  17.        
  18.         protected void onCreate (Bundle savedInstanceState) {
  19.                 super.onCreate(savedInstanceState);
  20.                 setContentView(R.layout.activity_calc);
  21.                
  22.                 Top_txt = (TextView) findViewById(R.id.Top_txt);
  23.                 ECalc = (TextView) findViewById(R.id.ECalc);
  24.                 EWater = (TextView) findViewById(R.id.EWater);
  25.                 Heating = (TextView) findViewById(R.id.Heating);
  26.                 Debt = (TextView) findViewById(R.id.Debt);
  27.                 Calc_show = (TextView) findViewById(R.id.Calc_show);
  28.                 Calc_total = (TextView) findViewById(R.id.Calc_total);
  29.                
  30.                 Intent intent = getIntent();
  31.                
  32.  
  33.                 String Mounth_input = intent.getStringExtra("Mounth_input");
  34.                 String Year_input = intent.getStringExtra("Year_input");
  35.                 String RentPay_input = intent.getStringExtra("RentPay_input");
  36.                 String ELimit_input = intent.getStringExtra("ELimit_input");
  37.                 String ELowPrice_input = intent.getStringExtra("ELowPrice_input");
  38.                 String EHiPrice_input = intent.getStringExtra("EHiPrice_input");
  39.                 String EPrevious_input = intent.getStringExtra("EPrevious_input");
  40.                 String ECurrent_input = intent.getStringExtra("ECurrent_input");
  41.                 String WPrice_input = intent.getStringExtra("WPrice_input");
  42.                 int WPrevious_input = intent.getIntExtra("WPrevious_input", 0);
  43.                 String WCurrent_input = intent.getStringExtra("WCurrent_input");
  44.                 String Heating_input = intent.getStringExtra("Heating_input");
  45.                 String Debt_input = intent.getStringExtra("Debt_input");
  46.                
  47.                
  48.                 Top_txt.setText("Rent For " + Mounth_input + " " + Year_input + " ");
  49.                 ECalc.setText("");
  50.                 EWater.setText("");
  51.                 Heating.setText(Heating_input);
  52.                 Debt.setText(Debt_input);
  53.                 Calc_show.setText("");
  54.                 Calc_total.setText(WPrevious_input);
  55.  
  56.         }
  57.  
  58. }
  59.  
  60.  


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 июл 2015, 07:39 
Аватар пользователя

Зарегистрирован: 18 окт 2012, 11:17
Сообщений: 1098
Откуда: г. Красноярск
Благодарил (а): 26 раз.
Поблагодарили: 279 раз.
lazyroot писал(а):
Добрый день.
...


Судя по коду вы отправляете String и пытаетесь получить int. Так ничего не получится.
Подсказка: http://developer.android.com/intl/ru/reference/java/lang/Integer.html#parseInt(java.lang.String)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 июл 2015, 10:44 

Зарегистрирован: 10 июл 2015, 17:48
Сообщений: 6
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Я понимаю что проблема в этой строке
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. intent.putExtra("WPrevious_input", WPrevious_input.getText().toString());

При изменении на это - выдает ошибку
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. intent.parseInt("WPrevious_input", WPrevious_input.getText().toString());

Делаю так:
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. intent.parseInt("WPrevious_input", WPrevious_input);

По прежнему ошибка.
Eclipse предлагает так:
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. ((Object) intent).parseInt("WPrevious_input", WPrevious_input);

но не понимаю что прописать вместо "Object".


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 июл 2015, 11:00 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
По-вашему, Intent и Integer это одно и тоже?

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 июл 2015, 11:23 

Зарегистрирован: 10 июл 2015, 17:48
Сообщений: 6
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
doter.ua писал(а):
По-вашему, Intent и Integer это одно и тоже?

Нет.

Я понимаю что здесь все с многолетним опытом программирования и всем очевидна моя ошибка, но я не имею опыта, а только начинаю и прошу помощи.
Не понимаю я на что Вы хотите меня направить.
Если вопрос слишком глуп - так и скажите и я попытаю счастье на других форумах.
Спасибо за понимание.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 июл 2015, 11:42 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
lazyroot писал(а):
doter.ua писал(а):
По-вашему, Intent и Integer это одно и тоже?

Нет.

Я понимаю что здесь все с многолетним опытом программирования и всем очевидна моя ошибка, но я не имею опыта, а только начинаю и прошу помощи.
Не понимаю я на что Вы хотите меня направить.
Если вопрос слишком глуп - так и скажите и я попытаю счастье на других форумах.
Спасибо за понимание.

Сравни:
intent.parseInt("WPrevious_input", WPrevious_input);
и
Integer.parseInt("123", 10); //( число в строке, основание системы счисления (десятичная двоичная и т.д.) )
Integer - с англ. целое число.
З.Ы. второй параметр по дефолту итак 10
int myNum = Integer.parseInt("123"); // myNum = 123

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 июл 2015, 12:03 

Зарегистрирован: 10 июл 2015, 17:48
Сообщений: 6
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Получающий activity получает в таком виде? Я правильно понял?
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. int WPrevious_input = Integer.parseInt("WPrevious_input", 10);

А в передающем мы должны что-то менять? Я правильно понял, передаем мы строку а не целое число а вытянуть пытаемся целое число?
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. intent.putExtra("WPrevious_input", WPrevious_input.getText().toString());

По идее мы же и передать и вытянуть должны один тип данных...


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 июл 2015, 12:26 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
Почему бы не класть в интент число? сразу на месте распарсить его.

отправляющий:
Код: [ Загрузить ] [ Скрыть ]
  1. int num = Integer.parseInt( WPrevious_input.getText().toString() ); 
  2. intent.putExtra("myKey",  num ); 

Получающий:
Код: [ Загрузить ] [ Скрыть ]
  1. int defaultValue = 0; 
  2. int num = getIntent().getExtras().getInt( "myKey", defaultValue ); 

ЗЫ проверки интента на null и прочее пропустил для простоты примера.

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 июл 2015, 14:52 

Зарегистрирован: 10 июл 2015, 17:48
Сообщений: 6
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Битый час бьюсь и не могу понять в чем же проблема...
Упростил программу до невозможности...
Выкладываю все, может кто-то что-то заметит...
activity_main.xml
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent"
  5.     android:orientation="vertical" >
  6.  
  7.     <ScrollView
  8.         android:id="@+id/scrollView1"
  9.         android:layout_width="match_parent"
  10.         android:layout_height="wrap_content" >
  11.  
  12.         <LinearLayout
  13.             android:layout_width="match_parent"
  14.             android:layout_height="match_parent"
  15.             android:orientation="vertical" >
  16.  
  17.             <LinearLayout
  18.                 android:layout_width="match_parent"
  19.                 android:layout_height="wrap_content" >
  20.  
  21.                 <LinearLayout
  22.                     android:layout_width="wrap_content"
  23.                     android:layout_height="match_parent"
  24.                     android:layout_weight="1"
  25.                     android:orientation="vertical"
  26.                     android:gravity="center_horizontal" >
  27.  
  28.                     <TextView
  29.                         android:id="@+id/txt"
  30.                         android:layout_width="wrap_content"
  31.                         android:layout_height="wrap_content"
  32.                         android:text="Pype int here" />
  33.  
  34.                     <EditText
  35.                         android:id="@+id/input"
  36.                         android:layout_width="match_parent"
  37.                         android:layout_height="wrap_content"
  38.                         android:inputType="number"
  39.                         android:ems="10"
  40.                         android:text="3"
  41.                         android:gravity="center_horizontal" >
  42.  
  43.                         <requestFocus />
  44.                     </EditText>
  45.  
  46.                 </LinearLayout>
  47.  
  48.             </LinearLayout>
  49.            
  50.             <LinearLayout
  51.                 android:layout_width="match_parent"
  52.                 android:layout_height="wrap_content" >
  53.  
  54.                 <Button
  55.                     android:id="@+id/calc"
  56.                     android:layout_width="wrap_content"
  57.                     android:layout_height="wrap_content"
  58.                     android:layout_weight="1"
  59.                     android:text="Calculate" />
  60.                
  61.             </LinearLayout>
  62.            
  63.         </LinearLayout>
  64.        
  65.     </ScrollView>
  66.    
  67. </LinearLayout>
  68.  
  69.  

activity_calc.xml
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent"
  5.     android:orientation="vertical" >
  6.  
  7.     <ScrollView
  8.         android:id="@+id/scrollView1"
  9.         android:layout_width="match_parent"
  10.         android:layout_height="wrap_content" >
  11.  
  12.         <LinearLayout
  13.             android:layout_width="match_parent"
  14.             android:layout_height="match_parent"
  15.             android:orientation="vertical" >
  16.            
  17.             <LinearLayout
  18.                 android:layout_width="match_parent"
  19.                 android:layout_height="wrap_content" >
  20.  
  21.                 <TextView
  22.                     android:id="@+id/Top_txt"
  23.                     android:layout_width="match_parent"
  24.                     android:layout_height="wrap_content"
  25.                     android:layout_weight="1"
  26.                     android:text="Output "
  27.                     android:gravity="center_horizontal"
  28.                     android:textAppearance="?android:attr/textAppearanceLarge" />
  29.                
  30.             </LinearLayout>
  31.  
  32.            
  33.             <LinearLayout
  34.                 android:layout_width="match_parent"
  35.                 android:layout_height="wrap_content" >
  36.  
  37.                 <TextView
  38.                     android:id="@+id/Calc_show"
  39.                     android:layout_width="wrap_content"
  40.                     android:layout_height="wrap_content"
  41.                     android:layout_weight="3"
  42.                     android:text=""
  43.                     android:gravity="center_horizontal"
  44.                     android:textAppearance="?android:attr/textAppearanceLarge" />
  45.                
  46.             </LinearLayout>
  47.            
  48.         </LinearLayout>
  49.        
  50.     </ScrollView>
  51.    
  52. </LinearLayout>
  53.  
  54.  

MainActivity.class
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. package com.example.int_test;
  2.  
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.support.v7.app.ActionBarActivity;
  6. import android.view.Menu;
  7. import android.view.MenuItem;
  8. import android.view.View;
  9. import android.view.View.OnClickListener;
  10. import android.widget.Button;
  11. import android.widget.EditText;
  12.  
  13. public class MainActivity extends ActionBarActivity implements OnClickListener {
  14.        
  15.  
  16.         EditText input_int;
  17.        
  18.         Button button_calc;
  19.  
  20.         @Override
  21.         protected void onCreate(Bundle savedInstanceState) {
  22.                 super.onCreate(savedInstanceState);
  23.                 setContentView(R.layout.activity_main);
  24.  
  25.                 input_int = (EditText) findViewById(R.id.input);
  26.                
  27.                 button_calc = (Button) findViewById(R.id.calc);
  28.                 button_calc.setOnClickListener(this);
  29.         }
  30.  
  31.         @Override
  32.         public boolean onCreateOptionsMenu(Menu menu) {
  33.                 // Inflate the menu; this adds items to the action bar if it is present.
  34.                 getMenuInflater().inflate(R.menu.main, menu);
  35.                 return true;
  36.         }
  37.  
  38.         @Override
  39.         public boolean onOptionsItemSelected(MenuItem item) {
  40.                 // Handle action bar item clicks here. The action bar will
  41.                 // automatically handle clicks on the Home/Up button, so long
  42.                 // as you specify a parent activity in AndroidManifest.xml.
  43.                 int id = item.getItemId();
  44.                 if (id == R.id.action_settings) {
  45.                         return true;
  46.                 }
  47.                 return super.onOptionsItemSelected(item);
  48.         }
  49.  
  50.         public void onClick(View v) {
  51.                 // TODO Auto-generated method stub
  52.                 Intent intent = new Intent (this, CalcActivity.class);
  53.  
  54.                 int num = Integer.parseInt( input_int.getText().toString() );
  55.                 intent.putExtra("myKey",  num );
  56.                
  57.                 startActivity(intent);
  58.         }
  59. }
  60.  
  61.  

CalcActivity.class
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. package com.example.int_test;
  2.  
  3. import android.app.Activity;
  4. import android.os.Bundle;
  5. import android.widget.TextView;
  6.  
  7. public class CalcActivity extends Activity {
  8.        
  9.         TextView Top_txt;
  10.         TextView Calc_show;
  11.        
  12.         protected void onCreate (Bundle savedInstanceState) {
  13.                 super.onCreate(savedInstanceState);
  14.                 setContentView(R.layout.activity_calc);
  15.                
  16.                 Top_txt = (TextView) findViewById(R.id.Top_txt);
  17.                 Calc_show = (TextView) findViewById(R.id.Calc_show);
  18.                
  19.                 int defaultValue = 0;
  20.                 int num = getIntent().getExtras().getInt( "myKey", defaultValue );
  21.                
  22.                 Calc_show.setText(num);
  23.  
  24.         }
  25.  
  26. }
  27.  
  28.  


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 14 июл 2015, 01:08 

Зарегистрирован: 10 апр 2015, 23:24
Сообщений: 51
Благодарил (а): 8 раз.
Поблагодарили: 2 раз.
Хз-хз.


Последний раз редактировалось Sasha2dx 14 июл 2015, 09:06, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 14 июл 2015, 07:58 
Аватар пользователя

Зарегистрирован: 18 окт 2012, 11:17
Сообщений: 1098
Откуда: г. Красноярск
Благодарил (а): 26 раз.
Поблагодарили: 279 раз.
lazyroot писал(а):
Битый час бьюсь и не могу понять в чем же проблема...


Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. Calc_show.setText(num + "");


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 14 июл 2015, 15:03 

Зарегистрирован: 10 июл 2015, 17:48
Сообщений: 6
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Ну то, что это работает я уже убедился) Спасибо Всем что помогли. Но почему я не могу просто вывести число, зачем добавлять + "" я чуть-чуть не понял...
klblk писал(а):
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. Calc_show.setText(num + "");

Вдогонку родился еще один вопрос, а как передать float или double?
В чем будут отличия?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 15 июл 2015, 06:04 
Аватар пользователя

Зарегистрирован: 18 окт 2012, 11:17
Сообщений: 1098
Откуда: г. Красноярск
Благодарил (а): 26 раз.
Поблагодарили: 279 раз.
lazyroot писал(а):
Ну то, что это работает я уже убедился) Спасибо Всем что помогли. Но почему я не могу просто вывести число, зачем добавлять + "" я чуть-чуть не понял...


Потому что есть 2 метода setText(). Один на вход принимает строку (String), другой на вход принимает id ресурса (int, например: R.string.mystring, где mystring строка в ресурсах xml). Вы передавали в метод свой num, который int, и система пытается найти ресурс с таким id, и естественно не находит и вылетает с ошибкой.
num + "" - простейший способ преобразовать число в строку. С float и double можно поступать также, правда я не помню сколько он в таком случае выведет знаков после запятой, для них есть более деликатные способы вывода.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 115 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB