ギャラリーを使用してクリックしてスクロールするTextViewを作成しようとしています。私はHelloGalleryのチュートリアルを終えましたが、BaseAdapterを拡張しています。Gallery of TextViews
ギャラリーに入るTextViewを作成するためにBaseAdapterを拡張するにはどうすればよいですか?
ギャラリーを使用してクリックしてスクロールするTextViewを作成しようとしています。私はHelloGalleryのチュートリアルを終えましたが、BaseAdapterを拡張しています。Gallery of TextViews
ギャラリーに入るTextViewを作成するためにBaseAdapterを拡張するにはどうすればよいですか?
これを試してください。これは基本的な実装です。動的なビュー追加機能を使用してこのアダプターを拡張することはできますが、これは範囲外です。
class CustomAdapter extends BaseAdapter
{
private Context context;
private Vector<TextView> views;
public CustomAdapter(Context c, Vector<TextView> views)
{
this.context = c;
this.views = views;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
if (convertView == null)
{
convertView = new TextView(context);
}
((TextView)convertView).setText(views.get(position).getText());
return convertView;
}
@Override
public int getCount()
{
return views.size();
}
@Override
public TextView getItem(int position)
{
return views.get(position);
}
@Override
public long getItemId(int position)
{
return position;
}
}
カスタムアダプターを使用する必要はありません。
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.my_item, items);
ハ:あなたはちょうどそう、
my_item
レイアウトがTextView
シングル(適切スタイル)を含んでいる場合のように、デフォルトArrayAdapter
を使用することができます!人々はまだ 'ベクター'を使用しています! –Vectorはスレッドセーフであり、ArrayListはスレッドセーフではありません。 –
正確です。だからあなたはロックのためのペナルティを支払うでしょう。アダプタはUI /メインスレッドでのみ呼び出されるため、すべての操作をロックする価値はほとんどありません。 –