현재 db를 열어서 _Result라는 String에 커서를 이용하여 데이터를 저장하고

그 데이터로 listview를 구현하려고 합니다.

listview에서 각 행별로 다른 Imageview를 쓸려고 아래와 같이 구현하였습니다만

string 선언부분에서 자꾸 문제가 되네요

string을 cursor로 그 크기만큼 선언해서 이용하여야 그만큼의 Listview만 떠서 

string을 전역으로 선언해주려니 오류가 생기네요

1. 여기서 string을 전역으로 선언하려면 어떻게 해야 되나요

2. 아니면 아래와같은 방법이외에 커서를 이용하여 행별로 다른 Imageview를 사용할 수 있도록 하는 방법이 있나요?

답변해주시면 감사하겠습니다.
 public class ExerciseTraker extends ListActivity{
			
	public SQLiteDatabase _DB = null;
	public String _Result[];
	
	public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.row);
        setListAdapter(new IconicAdapter());
                        
        _DB = openOrCreateDatabase("exer.db", MODE_PRIVATE, null);
        
        int a = 0;
        Cursor _Cursor = _DB.rawQuery("Select name from exercise", null);
		if(_Cursor.moveToFirst()){
			a = 1;
			do{
				a++;						
			}while(_Cursor.moveToNext());	
		}
		_Result = new String[a];
		if(_Cursor.moveToFirst()){
			a = 0;
			do{
				_Result[a] = _Cursor.getString(0);
				a++;						
			}while(_Cursor.moveToNext());	
		}
               
	}
	
	public void onListItemClick(ListView parent, View v, int position, long id){
		
	}
	
	class IconicAdapter extends ArrayAdapter {
		//int a = 0;
		IconicAdapter() {
			super(ExerciseTraker.this, R.layout.row1, _Result);
		}
		
		public View getView(int position, View convertView,
												ViewGroup parent) {
			LayoutInflater inflater=getLayoutInflater();
			View row=inflater.inflate(R.layout.row1, parent, false);
			TextView label=(TextView)row.findViewById(R.id.labels);
						
			label.setText(_Result[position]);
			
			ImageView icon=(ImageView)row.findViewById(R.id.icons);
			icon.setImageResource(R.drawable.icon);
			
			if (_Result[position].length()>4) {
				icon.setImageResource(R.drawable.icon);
			}
			else {
				icon.setImageResource(R.drawable.ok);
			}
			return(row);
		}
	}
}