Вниз  Android-программирование (1-ые посты)
- 2.03.2014 / 18:36
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
usb_device, там суть в том,что действие с элементом интерфейса надо делать в главном потоке, который находится в методе onCreate, в другом методе делать нельзя.
- 2.03.2014 / 18:46
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
Вот так попробуй:
package com.example.myapplicationgame;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;

public class MainActivity extends Activity {
static TextView tvInfo;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvInfo = (TextView) findViewById(R.id.textView);
for(int i=0;i<15;i++){
tvInfo.append("\n"+i);
pauseTime(1000);
}
}

public void pauseTime(long p){
long s=System.currentTimeMillis();
while(System.currentTimeMillis()-s<p){
}
}



}

Изменено samodelkin (2.03 / 18:48) (всего 1 раз)
- 2.03.2014 / 18:49
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
samodelkin, тебе тоже матчасть следовало бы подучить (особенно перед тем, как учить других). Главный поток не находится в методе onCreate, он вообще стартует за его пределами и охватывает кучу методов таких как onCreate, onPause, onDestroy, onBackPressed и т.д. Короче, всё что порождает система для обслуживания интерфейса, есть главный поток, называемый также UI-Thread.
__________________
 let live

Изменено aNNiMON (2.03 / 18:49) (всего 1 раз)
- 2.03.2014 / 18:50
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
aNNiMON, ясно.
- 2.03.2014 / 19:00
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
Там ошибка была в методе паузы, вот правильный код:

package com.example.myapplicationgame;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;

public class MainActivity extends Activity {
static TextView tvInfo;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvInfo = (TextView) findViewById(R.id.textView);
for(int i=0;i<15;i++){
tvInfo.append("\n"+i);
pauseTime(1000);
}
}

public void pauseTime(long p){
long s=System.currentTimeMillis();
while(System.currentTimeMillis()<s+p){
}
}



}
- 2.03.2014 / 19:21
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
Не работает , странно!!! :-( Как это понимать???

Изменено samodelkin (2.03 / 19:21) (всего 1 раз)
- 2.03.2014 / 19:28
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
samodelkin (02.03.2014/19:21)Не работает , странно!!! :-( Как это понимать???http://annimon.com/forum/?act=post&id=323277

Читай книги, изучай архитектуру Android и всё, что скрывается за занавесом. Сотню раз уже говорил тебе, почему ты не слушаешь??! Пока ты программируешь, копируя найденные куски кода без осознания того, как они работают, ты будешь писать плохой код.
__________________
 let live
- 2.03.2014 / 20:33
usb_device
  Пользователь

usb_device 
Сейчас: Offline
когда в коде мы пишем new Thread(new Runnable() { и тд. это аналогично, если бы создавался отдельный класс который реализовал интерфес Runnable, а именно метод run? То есть, иначе говоря это равноправные способы создания потока?
- 2.03.2014 / 21:02
Virus-ON
  Пользователь

Virus-ON 
Сейчас: Offline
Может слоу, но как на счёт Handler'a?

Изменено Virus-ON (2.03 / 21:02) (всего 1 раз)
- 2.03.2014 / 21:11
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
usb_device, да, только в нашем случае создаётся анонимный класс.
__________________
 let live
Наверх  Всего сообщений: 4453
Фильтровать сообщения
Поиск по теме
Файлы топика (184)