Код: Выделить всё
public class MainActivity extends ActionBarActivity implements View.OnClickListener {
public TextView tvOut;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//если вызов метода yyy() сделан тут то все работает
yyy();
}
public void yyy(){
tvOut = (TextView) findViewById(R.id.tvOut);
tvOut.setText("rty");
}
У меня есть в этом классе кнопка выполняющая запуск второго класса , в котором я пытаюсь обратиться к методу yyy()
public class two extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.two);
MainActivity TTT = new MainActivity();
TTT.yyy();
}
}
мое предположение : сперва выполняется первый класс и после выполнения некий таинственный для меня сборщик мусора очищает что-то и по запуску второго класса , он уже не может обратиться к объекту в методе первого класса.
И вопрос не совсем в тему ,если не тяжело не могли бы написать как мне передать текст в мой TextView из другого класса используя Interface . Читал про интерфейсы вроде может и правильно написал, но из-за NullPointerException не представляется возможным проверить то , что я написал.
или может когда я со второго класса запускаю этот метод у меня активен другой loyaut и чтобы этого не происходило надо правильно через интент вызвать этот метод?