Для того, чтобы обеспечить пользовательский шрифт в моем ListActivity
, я написал класс CustomAdapter
расширения BaseAdapter
согласно этому примеру here.Медленный переход деятельности: несколько «инициализация раздувать состояние» в LogCat
Однако, как описано здесь, я написал метод getView()
как следующее:
public View getView(int position, View convertView, ViewGroup parent){
String gameName = gameNames[position]; // gameName ist the String[] of the Custom Adapter
TextView tv = new TextView(context);
tv.setText(gameName);
tv.setTypeface(Typeface.createFromAsset(context.getAssets(), "fonts/gulim.ttf"));
return tv;
}
Это работает как задумано. Единственное, что беспокоит то, что это занимает около трех или четырех секунд, пока не появится список (и это очень долгое время в этом контексте). Однако в ListActivity
я поставил onItemClickListener
сек, как это:
private void setOnItemClickListener(){
getListView().setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int pos, long id){
onClickEntryButton(((TextView) view).getText().toString());
}
});
}
private void onClickEntryButton(String gameName){
Intent intent = new Intent(this, GameActivity.class);
intent.putExtra("gameName", gameName);
startActivity(intent);
finish();
}
Теперь при нажатии на ListItem
, она занимает еще больше времени, пока GameActivity
не откроется. Это Activity
- это всего лишь пара TextView
s, заполненная информацией, взятой из базы данных SQLite. Также здесь я устанавливаю пользовательский шрифт для каждого TextView
. Случается даже, что экран становится черным в течение 2-3 секунд (появляется приложение разбилось), затем появляется новый Activity
. Этого не происходит, обращаясь к этому Activity
из других мест приложения.
В обоих случаях - доступ к ListActivity
и перейдя на GameActivity
из ListActivity
- пара
"szipinf - Инициализация раздувать состояние"
сообщения появляются в LogCat. Что они означают в этом контексте? Было бы лучше использовать onItemClickListener
s в методе getView()
моего CustomAdapter
? Кажется, что-то действительно блокирует переходы, но я не могу понять, что, поскольку нет ничего большого, чтобы быть рассчитанным или обработанным (на самом деле, в базе данных SQLite есть ровно две записи с каждыми 5 полями)?
EDIT При необходимости или желании, конечно, я могу предоставить больше кода.