次の例で View クラスの変数を配置するのに最適な場所は 2 つあります。このandroidアプリのコードでは、Activityを拡張するクラスのグローバル変数として配置した方が良いですか、それともBaseAdapterを拡張したImageAdapterというネストした内部クラスの中で変数を宣言した方が良いでしょうか?
どちらが良いですか?
コードの 2 つのサンプルを以下に示します。
最初のサンプルでは、View クラスのビュー変数がよりグローバルなスコープとして宣言されています。ここに示すように、メイン クラスに表示されます。
public class Main extends Activity {
View view; // <--- PLACEMENT IN A MORE GLOBAL POSITION
Cursor imageCursor;
public class ImageAdapter extends BaseAdapter {
private Context context;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.adapterview, null);
}else{
view = convertView;
}
この 2 番目の例では、View ビューは ImageAdapter クラスの getView メソッド内でそのクラスのローカル変数として宣言されています。
public class Main extends Activity {
Cursor imageCursor;
public class ImageAdapter extends BaseAdapter {
private Context context;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view; // <--- PLACEMENT AS LOCAL VARIABLE
if(convertView == null){
LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.adapterview, null);
}else{
view = convertView;
}