2011-12-28 9 views
0

私はXMLファイルを正常にsax parser.myを使用して解析しましたが、文字列をファイルパスに変換する方法は疑いがあります。私は3スピナー第1スピナーの私の親ノードの文字列の値を表示し、第2スピナーの子ノード名のタグ値と3スピナーの表示パスのタグ値を示しています。これは私のXMLファイルリンクです。plsこのリンクを参照してください。http://paste.org/42924文字列をファイルパス(sdcardパス)に変換する方法は? android

私はあなたのパスタグ文字列値をsdcardファイルパスに変換しようとしています。私はpath_List配列リストに自分のパスタグ文字列値を格納しました。これで、この配列リストにすべてのパス文字列値が得られました。このスティッキング値をファイルパスに変換する方法は?私はグリッド表示形式で同じ画面の下に画像を表示したいと思います。今、私は配列リストの名前が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) { 

     } 
    } 
} 
+0

あなたはただの文字列配列リストのみを解析します。文字列だけが表示されます。必要に応じて、イメージを表示するためのイメージビューを持つカスタムアレイアダプタを作成する必要があります。 –

+0

@PadmaKumar 3番目のスピナーではなく、同じ画面で画像をgridviewに表示したいとします。 3番目のスピンナーはパスタグ文字列値のみを表示し、文字列値をどのように変換し、画像をグリッド表示にするかを示します。 – balaji

答えて

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

//がBaseAdapterを拡張ImageAdapterと呼ばれる新しいクラスを作成します。

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; 
} 


    } 
+0

エラー1:path_List.lengthを解決できないか、フィールドエラーではありません2:BitmapFactory型のdecodeFile(String)メソッドは引数に適用されません (ArrayList ) – balaji

+0

このビットマップを試してくださいbitmap = BitmapFactory.decodeFile .get [i]); –

+0

path_List.getは解決できないか、フィールドエラーではありませんpadma sir – balaji

関連する問題