Действия начинаются с Intents .Пожалуйста, сначала прочтите Основы приложений Android и попробуйте приложение Hello World:)
Я понял, что вы будете использовать свой отдельный класс Tester любой ценой;), поэтому я пытаюсь адаптировать ипомочь вам там.
Прежде всего, не позволяет вашему классу наследовать от Activity.Это не поможет вам, потому что у этих вызовов, вероятно, не будет никакого действительного контекста.Activity каким-то образом реализует шаблон шаблона , предоставляя вам метод ключа, такой как onCreate(...)
, onPause(...)
и т. Д., И создается в ОС Android.
Если вы все еще хотите использовать класс, выдолжны пройти в контексте.Возможно, вы стремитесь к некоторой структуре паттернов MVC / MVP, в любом случае.
public class Tester {
private Context context;
public Tester(Context context){
this.context = context;
}
public void test () {
final Intent myIntent = new Intent(context, NewActivity.class);
//guess this comes from somewhere, hope through a findViewById method
thebutton.setOnClickListener(
new OnClickListener() {
public void onClick(View v) {
context.startActivity(myIntent);
}
}
)};
}
}
Это было бы предлагаемое решение с моей стороны.Проблема, которую я до сих пор вижу, заключается в , как вы извлекаете кнопку в этом test()
методе.Для того чтобы эта работа работала должным образом, вы должны извлечь ее из некоторого класса View (с view.findViewByid(R.id.myButton)
) или создать ее динамически и связать с представлением во время onCreate(...)
вашей Деятельности (возможно, с помощью Inflater).