Я передаю данные через активность во фрагмент, используя Bundle, Bundle получает их значение из счетчика, Counter обновляет свою базу значений в Thread.
Мне удалось получить данные во Фрагменте, но пользовательский интерфейс только для фрагмента Обновление транзакции фрагмента, поэтому вопрос
как мне обновить фрагмент Ui в режиме реального времени
Код следующим образом:
int i=0;
Sbundle = new Bundle();
thread = new Thread() {
@Override
public void run() {
try {
while (!thread.isInterrupted()) {
Thread.sleep(1000);
runOnUiThread(new Runnable() {
@Override
public void run() {
i++;
Sbundle.putString("speed", String.valueOf(i) );
}
});
}
} catch (InterruptedException e) {
}
}
};
thread.start();
}
Фрагмент транзакции при нажатии:
public void onClick(View v) {
speedFragment = new SpeedFragment();
speedFragment.setArguments(Sbundle);
RoboActivity activity = MainActivity.this;
if (!isFinishing() && !isDestroyed()) {
FragmentTransaction ft = activity.getFragmentManager()
.beginTransaction();
ft.replace(R.id.fragment_container, speedFragment);
ft.detach(speedFragment).attach(speedFragment).commit();
}
}
на стороне фрагмента:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bundle = this.getArguments();
mySpeed = bundle.getString("speed");
}