Я хочу сделать свою единую тренировку доступной для всего приложения. Скажем, каждый отдельный тренинг из основного списка видов деятельности. Но я не получаю значения из класса Singleton. В чем проблема в моем коде. Я пытался со вчерашнего дня и не мог понять, почему? Заранее благодарны за Вашу помощь.Как реализовать класс Singleton в классе активности
Вот Singleton класс:
public class CurrentTraining {
private Training training; //Training is my model class.
private static CurrentTraining instance;
private CurrentTraining() {
}
public static CurrentTraining getInstance() {
if (instance == null)
instance = new CurrentTraining();
return instance;
}
public Training getTraining() {
return training;
}
public Training setTraining(Training training) {
return this.training = training;
}
}
Мой Основной класс деятельности:
public class MainActivity extends ListActivity implements OnItemClickListener {
private Portfolio portfolio;
private ListAdapter trainingListAdapter;
private Dialog dialog;
Training currentTraining;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
currentTraining = CurrentTraining.getInstance().getTraining();
portfolio = new Portfolio(this);
trainingListAdapter = new ArrayAdapter<Training>(this,
android.R.layout.simple_list_item_1,
portfolio.getTrainingArrayList());
setListAdapter(trainingListAdapter);
((ListView) findViewById(android.R.id.list))
.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Log.i ("DEBUG" , currentTraining.getTitle());
CurrentTraining.getInstance().setTraining(currentTraining);
Toast.makeText(getApplicationContext(), "You clicked on position : " + arg2 + " and ID : " + currentTraining.getId(), Toast.LENGTH_LONG).show();
}
OnClick к ListView он выходит из строя из-за NullPointer Exception.
Personnaly не использует одиночные игры в разработке Android. У вас уже есть один объект singleton -> объект приложения. Вы можете управлять всеми «синглтон» там простым геттером и сеттером. GetsingletonObject() – Tobrun
Singleton Activity? Не делай этого! – Geros
Он не создает активность Singleton! Обычный подход user1281750 был бы самым простым способом. Но вы, пожалуйста, покажите нам LogCat? –