【发布时间】:2012-12-07 06:13:59
【问题描述】:
在下面的例子中,在这两个选项中,哪个是放置 View 类的变量的最佳位置?在这个 android 应用程序代码中,将其作为扩展 Activity 的类的全局变量是否更好,还是在扩展 BaseAdapter 的名为 ImageAdapter 的嵌套内部类中声明该变量更好?
哪个更好?
下面显示了 2 个示例代码。
在第一个示例中,View 类的 view 变量在范围内被声明为更具全局性。如此处所示,它出现在 Main 类中。
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;
}
在第二个示例中,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;
}
【问题讨论】:
标签: android variables scope nested nested-class