다음 예제에서 View 클래스의 변수를 두는 데 가장 적합한 두 가지 선택 항목 중 무엇입니까? 이 안드로이드 앱 코드에서 액티비티를 확장하는 클래스의 글로벌 변수로 배치하는 것이 더 좋습니까? 아니면 BaseAdapter를 확장하는 ImageAdapter라는 중첩 된 내부 클래스의 내부에 변수를 선언하는 것이 더 낫습니까?중첩 된 내부 클래스에 대한 변수를 둘 수있는 위치, android
어느 것이 더 낫습니까?
2 개의 코드 샘플이 아래에 나와 있습니다.
은 첫 번째 샘플에서 View 클래스의 view 변수가 범위에서 더 전역으로 선언되는 위치입니다. 여기에 표시된 것처럼 Main 클래스에 나타납니다. 이 제 2 실시보기보기
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;
}
그 클래스의 getView 방법의 내부 ImageAdapter 클래스의 로컬 변수로 선언되어있다.
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 - 예, 좋은 경험입니다. –