как преобразовать строку в путь к файлу (путь к SD-карте)? андроид

Я успешно проанализировал свой XML-файл с помощью sax parser. Я сомневаюсь, как преобразовать строку в путь к файлу. у меня есть 3 счетчика, 1-й счетчик показывает значение строки моего родительского узла, а 2-й счетчик показывает значение тега имени дочернего узла, а третий счетчик показывает значение тега пути. это моя ссылка на XML-файл. Пожалуйста, посмотрите эту ссылку = http://paste.org/42924

Надеюсь, теперь вы поняли. Я пытаюсь преобразовать значение строки тега пути в путь к файлу SD-карты. Я сохранил значение строки тега пути в списке массивов path_List. Теперь я получил все значения строки пути в этом списке массивов. как преобразовать это значение sting в путь к файлу? Я хочу показывать изображения в нижней части экрана в формате сетки, вот и все. теперь я сохранил значение строки тега пути в своем списке массивов, имя списка массивов — path_List. как конвертировать конвертировать мой путь к файлу?

это мой исходный код:

public class ParxmlActivity extends Activity {

    private String array_spinner[];
    private Cursor cursor;
    private int columnIndex;

    ParsedExampleDataSet parsedExampleDataSet= null;


    ArrayList<String> hltag_List=new ArrayList<String>();

ArrayList<Subchild> sltag_List=new ArrayList<Subchild>();

    ArrayList<String> name_List = new ArrayList<String>(); 

    ArrayList<String> path_List =new ArrayList<String>();

    Spinner spinner_hltag,spinner_sltag, spinner_path;

    ArrayAdapter<String> adapter_hltag;
    ArrayAdapter<String> adapter_sltag;
    ArrayAdapter<String> adapter_path;
    int hltagPos = 0;
    int sltagPos = 0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        GridView sdcardImages = (GridView) findViewById(R.id.sdcard);

            spinner_hltag= (Spinner) findViewById(R.id.spinner1);
        spinner_sltag = (Spinner) findViewById(R.id.spinner2);
        spinner_path =(Spinner) findViewById(R.id.spinner3);

        try {
            /* Get a SAXParser from the SAXPArserFactory. */
            SAXParserFactory spf = SAXParserFactory.newInstance();
            SAXParser sp = spf.newSAXParser();

            /* Get the XMLReader of the SAXParser we created. */
            XMLReader xr = sp.getXMLReader();

            /* Create a new ContentHandler and apply it to the XML-Reader */
            ExampleHandler myExampleHandler = new ExampleHandler();
            xr.setContentHandler(myExampleHandler);

            /* Parse the xml-data from our file. */
            xr.parse(new InputSource(getAssets().open("neevee.xml")));
            /* Parsing has finished. */

            parsedExampleDataSet =myExampleHandler. myParsedExampleDataSet;

            for (int i = 0; i < parsedExampleDataSet.gethltag().size(); i++) {
                Log.v("gethltag SIZE ", ""+parsedExampleDataSet.gethltag().size());
                hltag_List.add(parsedExampleDataSet.getHLTag().get(i));
            }


            sltag_List = parsedExampleDataSet.getSLTag(hltag_List.get(hltagPos));

            for(int i = 0; i < sltag_List.size(); i++) {
                name_List.add(sltag_List.get(i).name);
                path_List.add(sltag_List.get(i).path);
            }

            adapter_hltag = new ArrayAdapter<String>(ParxmlActivity.this,android.R.layout.simple_spinner_item, hltag_List); 
            spinner_hltag.setAdapter(adapter_hltag);


            adapter_sltag = new ArrayAdapter<String>(ParxmlActivity.this,android.R.layout.simple_spinner_item, name_List); 
            spinner_sltag.setAdapter(adapter_sltag); 


            adapter_path = new ArrayAdapter<String>(ParxmlActivity.this,android.R.layout.simple_spinner_item, path_List); 
            spinner_path.setAdapter(adapter_path);

        } catch (Exception e) { 

        }
    }
}

person balaji    schedule 28.12.2011    source источник
comment
вы просто анализируете только список строковых массивов. поэтому он будет отображать только строку. если вы хотите, вам нужно создать собственный адаптер массива, который имеет вид изображения для отображения вашего изображения.   -  person Padma Kumar    schedule 28.12.2011
comment
@PadmaKumar Я хочу показывать изображения в виде сетки на том же экране вместо моего третьего счетчика. третий счетчик теперь показывает только строковое значение тега пути, как преобразовать это строковое значение и отображаемые изображения в виде сетки.   -  person balaji    schedule 28.12.2011


Ответы (1)


 GridView sdcardImages = (GridView) findViewById(R.id.sdcard);
 sdcardImages.setAdapter(new ImageAdapter(this));

//Создайте новый класс с именем ImageAdapter, который расширяет BaseAdapter:

public class ImageAdapter extends BaseAdapter {
    private Context mContext;

    public ImageAdapter(Context c) {
        mContext = c;
    }

    public int getCount() {
        return path_List.length;
    }

    public Object getItem(int position) {
            return null;
    }

    public long getItemId(int position) {
        return 0;
    }

// создаем новый ImageView для каждого элемента, на который ссылается адаптер

public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;
        if (convertView == null) {  // if it's not recycled, initialize some attributes
            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(8, 8, 8, 8);
        } else {
            imageView = (ImageView) convertView;
        }
for (int i=0;i<path_List.size();i++){
Bitmap bitmap = BitmapFactory.decodeFile(path_List);

        imageView.setImageBitmap(bitmap);
        return imageView;
}


    }
person Padma Kumar    schedule 28.12.2011
comment
ошибка 1: path_List.length не может быть разрешен или не является ошибкой поля 2: метод decodeFile(String) в типе BitmapFactory неприменим для аргументов (ArrayList‹String›) - person balaji; 28.12.2011
comment
попробуйте это растровое изображение Bitmap = BitmapFactory.decodeFile(path_List.get[i]); - person Padma Kumar; 28.12.2011
comment
path_List.get не может быть разрешен или не является ошибкой поля, сэр. - person balaji; 28.12.2011
comment
это действительно помогает вам я Geuss. если не прислали мне свой проект, я его проверю. - person Padma Kumar; 28.12.2011