ListViewのアイテムに対してフォントを設定したいです。
TextView quiz = (TextView)findViewById(R.id.quiz); quiz.setTypeface(Typeface.createFromAsset(getAssets(), "font.ttf"));
という方法でfontを設定しているのですが、どのタイミングで呼び出せばよいのでしょうか?
またこの方法で呼び出すと体感として少し重いような気がするのですが、より良い方法もあれば合わせて教えていただきたいです。
よろしくお願いします。
ちなみにコードは下記のとおりです。
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); ListView listView = (ListView) findViewById(R.id.lv); ArrayList<ListItem> listItems = new ArrayList<>(); ListAdapter adapter = new ListAdapter(this, 0, listItems){ @Override public View getView(int pos, View convertView, ViewGroup parent) { TextView textView = (TextView)findViewById(R.id.d1); textView.setTypeface(Typeface.createFromAsset(getAssets(),"font.ttf")); return super.getView(pos, convertView, parent); } }; QuizOpenHelper quizOpenHelper = new QuizOpenHelper(this); SQLiteDatabase sqLiteDatabase = quizOpenHelper.getReadableDatabase(); String sql = "select quiz from quiz where _id between 1 and 50"; Cursor cursor = sqLiteDatabase.rawQuery(sql, null); cursor.moveToFirst(); int i = 0; boolean next = cursor.moveToFirst(); while (next){ quizs[i] = cursor.getString(cursor.getColumnIndex("quiz")); i ++; next = cursor.moveToNext(); } cursor.close(); sqLiteDatabase.close(); for (int c = 0; c < 50; c++) { ListItem listItem = new ListItem(); listItem.setText(quizs[c]); listView.setAdapter(adapter); listItems.add(listItem); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { quizNo = position + 1; Intent intent = new Intent(List.this,Game.class); intent.putExtra(EXTRA_QUIZNO,quizNo); startActivity(intent); } }); } } コード
回答1件
あなたの回答
tips
プレビュー