0
這兩個選擇中,哪個放置View類的變量的最佳位置在下面的示例中?在這個android應用程序代碼中,最好是將它作爲擴展活動的類的全局變量放置,還是更好地聲明擴展BaseAdapter的稱爲ImageAdapter的嵌套內部類中的變量?哪個地方爲嵌套的內部類放置變量,android
哪個更好?
2個樣本代碼如下所示。
在第一個示例中,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;
}
在這第二個例子中視圖視圖被聲明爲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;
}
是的,這是有道理的,所以我認爲在任何情況下都儘可能地限制範圍。只允許爲該變量所需的範圍。 – Kevik
@Kevik - 是的,這是一個很好的啓發式。 –