Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
ByAdD
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
#1

Методы компонентов - Программирование Android

02.11.2012, 12:20. Просмотров 1681. Ответов 20
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста со следующим
Как сделать простенький таймер, запуск которого осуществляется так:
Java
1
2
3
4
5
6
7
8
 Button btn = (Button)this.findViewById(R.id.button1);
        btn.setOnClickListener(new OnClickListener()
        {
             public void onClick(View v)
             {
             //ТУТ запуск таймера
             }
        });
скажем у меня MainActivity и MainActivity2 и как с помощью клика по кнопке можно вызвать MainActivity2(форму)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2012, 12:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Методы компонентов (Программирование Android):

Видимость компонентов
Что прописывать нужно в mainActivity для того чтобы при нажатии скрылся...

Различия View-компонентов
EditTExt в первой строке добавлен на экран вручную. EditTExt во второй строке...

Размещение компонентов на LinearLayaut
подскажите если на LinearLayaut нужно разместить ну например кнопку и textview...

Масштабирование компонентов на андроиде
Сейчас пытаюсь освоить андроид 2.3.3 (но если окажется, что там все плохо, то...

Порядок создания компонентов
Есть вертикальный LinearLayout в нем 2 фрагмента(первый выше, второй - ниже)...

Разработка собственных компонентов GUI
Здравствуйте! Разрабатываем математическую программу, к сожалению,...

20
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
02.11.2012, 12:35 #2
Цитата Сообщение от ByAdD Посмотреть сообщение
скажем у меня MainActivity и MainActivity2 и как с помощью клика по кнопке можно вызвать MainActivity2(форму)
Java
1
2
3
Intent mIntent = new Intent(this, MainActivity2.class);
mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(mIntent);
А с таймером подробнее давайте. Что он должен делать?
1
ByAdD
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
02.11.2012, 16:25  [ТС] #3
кнопками + - , настраивать минуты 1,2,3.. и при нажатии на кнопку давать обратный отсчёт, который будет отображаться в TextView.... как то так...

Добавлено через 12 минут
Выдаёт ошибку
Java
1
Intent mIntent = new Intent(this, Main2.class);
, хочет исправление на
Java
1
Intent mIntent = new Intent();
Добавлено через 9 минут
В общем сделал, таймер как хотел....

Добавлено через 2 минуты
Как вызвать меню , обычно выезжающее с низу с 4-мя менюшками ?
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
02.11.2012, 17:48 #4
Цитата Сообщение от ByAdD Посмотреть сообщение
Как вызвать меню , обычно выезжающее с низу с 4-мя менюшками ?
Java
1
2
3
4
5
public boolean onCreateOptionsMenu(Menu menu) {
          MenuItem mi = menu.add(0, 1, 0, "Preferences");
          mi.setIntent(new Intent(this, Preferences.class));
          return super.onCreateOptionsMenu(menu);
}
- добавляет 1 меню итем.
1
ByAdD
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
02.11.2012, 19:58  [ТС] #5
А как правильно вызвать событие клика по одному из меню ? я попробовал так же как и с кнопкой делал, но не получилось...
Java
1
2
3
4
5
6
7
8
mi1.setOnMenuItemClickListener(new OnClickListener()
    {
        public void onClick(View v) { 
        TextView tvHello = (TextView)findViewById(R.id.label);  
        tvHello.setText("Текст"); 
 
        }
    });
И скажите почему ругается при вызове 2-го окна
Java
1
Intent mIntent = new Intent(this, Main2.class);
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.11.2012, 20:02 #6
Цитата Сообщение от ByAdD Посмотреть сообщение
И скажите почему ругается при вызове 2-го окна
вероятно у вас this не того типа.
1
ByAdD
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
02.11.2012, 20:51  [ТС] #7
Такс терь другая проблема... при вызове окна 2-го выдаёт ошибку
Unfortunately, *** has stoped.
Код 2-го окна
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.example.addcode;
 
import java.util.prefs.Preferences;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
 
public class SetR extends Activity {
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.setr);
        
        
        
    }
    
    
     @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_main, menu);
            
            MenuItem mi1 = menu.add(0, 1, 0, "Меню1");
            MenuItem mi2 = menu.add(0, 2, 0, "Меню2");
            mi1.setIntent(new Intent(this, Preferences.class));
            mi2.setIntent(new Intent(this, Preferences.class));
           
            return true;
        }
}
в чём мб проблема?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.11.2012, 21:22 #8
Цитата Сообщение от ByAdD Посмотреть сообщение
в чём мб проблема?
ответ смотрите в логах.
0
ByAdD
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
03.11.2012, 14:01  [ТС] #9
После того как запустить таймер , а потом перевернуть экран то таймер останавливается.... как можно решить такую проблему?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.11.2012, 16:42 #10
от перевороту пересоздается активити.
1) можете сохранять состояние таймерав в onSaveInstanceState() и востанавливать onRestoreInstanceState()
2)можете отделить жизненный цикл таймера от жизненного цикла активити
3) можете залокать ориентацию android:screenOrientation=
4)можете запретить пересоздание активити android:configChanges="keyboardHidden|orientation"
1
ByAdD
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
03.11.2012, 17:44  [ТС] #11
Цитата Сообщение от V0v1k Посмотреть сообщение
от перевороту пересоздается активити.
1) можете сохранять состояние таймерав в onSaveInstanceState() и востанавливать onRestoreInstanceState()
2)можете отделить жизненный цикл таймера от жизненного цикла активити
3) можете залокать ориентацию android:screenOrientation=
4)можете запретить пересоздание активити android:configChanges="keyboardHidden|orientation"
Спасибо, информативно...

Добавлено через 4 минуты
Вот ещё проблема, попытался передать текст со второй формы на первую...
Вот код со второй формы (передающий сообщение)
Java
1
2
3
4
5
6
 public void but1_Click(View v){
         EditText txtInfo = (EditText)findViewById(R.id.editText1);
         Intent intent = new Intent(getApplicationContext(), MainActivity.class); 
         intent.putExtra("message",  txtInfo.getText().toString()); 
            startActivityForResult(intent, 1);
        }
А вот код с первой формы (принимающий сообщение)
Java
1
2
3
4
5
6
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
          TextView txtInfo = (TextView)findViewById(R.id.textView1); 
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 1)  
            txtInfo.setText(data.getStringExtra("message")); 
    }
но при выполнении переданное сообщение со второй формы, не отображается на первой форме.
В чём ошибка моя ?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.11.2012, 17:57 #12
в первой форме:
startActivityForResult и onActivityResult

в второй форме:
Intent intent=new Intent();
intent.putExtra("message", txtInfo.getText().toString());
setResult(Activity.RESULT_OK,intent);
finish();
0
ByAdD
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
03.11.2012, 18:09  [ТС] #13
Не со всем понял...
вот так отправлять сообщение
Java
1
2
3
4
5
6
7
8
 public void but1_Click(View v){
         EditText txtInfo = (EditText)findViewById(R.id.editText1); 
     
            Intent intent=new Intent();
            intent.putExtra("message", txtInfo.getText().toString()); 
            setResult(Activity.RESULT_OK,intent);
            finish();
        }
А принимать как ???
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.11.2012, 18:14 #14
onActivityResult принимает.
1
ByAdD
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
03.11.2012, 18:17  [ТС] #15
ТАк правильно
Java
1
2
3
4
5
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        TextView txtInfo = (TextView)findViewById(R.id.textView1); 
      super.onActivityResult(requestCode, resultCode, data); 
          txtInfo.setText(data.getStringExtra("message")); 
  }
??
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.11.2012, 18:22 #16
ну примерно так, только обычно проверяют requestCode и super.onActivityResult суют в else

Добавлено через 25 секунд
а еще resultCode проверяют

Добавлено через 34 секунды
если например вместо but1_Click юзер просто бек нажал, то будет результ кенсел.
0
ByAdD
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
03.11.2012, 18:55  [ТС] #17
Тогда у меня не работает, сразу при загрузке самого приложения , уже выдаёт ошибку....
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.11.2012, 18:57 #18
какую?
0
ByAdD
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
03.11.2012, 19:17  [ТС] #19
Точнее при вызове второго окна, выдаёт ошибку
unfortunately, *** has stopped .
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.11.2012, 19:24 #20
это сообщения о том, что произошла ошибка и приложение остановлено. а я спрашиваю какая именно ошибка произошла? какой екзепшен?
0
03.11.2012, 19:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2012, 19:24
Привет! Вот еще темы с решениями:

Включать ли файл лицензии сторонних компонентов в сборку приложения
Добрый день, скажите пожалуйста при сборке Android приложения если я использую...

Установка в Itellige IDEA нужных компонентов для android
Доброго времени суток! Подскажите как мне для Itellige IDEA установить...

Поворот экрана. Сохранение данных, но смена размеров компонентов
Допустим на экране есть кнопка, на которой есть текст. При создании активити...

Как после удаления view компонентов (removeAllViews) вернуть их?
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Допустим я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru