Как преобразовать строку в путь к файлу (путь SDCard)?андроид - PullRequest
0 голосов
/ 28 декабря 2011

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

Надеюсь, с вами все ясно, я пытаюсь преобразовать строковое значение моего тега path в путь к файлу SDCard. Я сохранил строковое значение моего тега path в списке массивов path_List. Теперь я получил все значения строки пути в этом списке массива. Как преобразовать это значение в файл путь? Я хочу показать изображения в том же дне экрана в формате сетки, вот и все. теперь я сохранил строковое значение тега path в моем списке массивов, имя списка массивов - 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) { 

        }
    }
}

1 Ответ

1 голос
/ 28 декабря 2011
 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;
}


    }
...