package ml.ml;

import java.io.IOException; 
import java.io.InputStream;
import java.util.ArrayList;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.AssetManager;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

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>();
 ArrayList<String> mmimage_List = new ArrayList<String>();

 ArrayList<String> model_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;


 Object sdcard;

 @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);
  /*sdcardImages.setOnItemClickListener(new OnItemClickListener() {


   public void onItemClick(AdapterView parent, View v, int position, long id) {
    Intent intent = new Intent(ParxmlActivity.this, tabview.class);

    /* intent.putExtra("FROM", ImageAdapter.getItem(position));

    intent.putExtra("name",name_List.get(position).name);


           Log.v("FROM", (String) ImageAdapter.getItem(position));


    startActivity(intent); 

   }
  });*/

  sdcardImages.setAdapter(new ImageAdapter(this));

  String[] proj = {MediaStore.Images.Thumbnails._ID};

  cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
    proj, null, null, null);


  columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Thumbnails._ID);

 /* spinner_hltag.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

   public void onItemSelected(AdapterView<?> arg0, View arg1, int i, long arg3) {

    if ( hltagPos != i) {
     name_List.clear();
     
     for( i = 0; i < sltag_List.size(); i++) {
      name_List.add(sltag_List.get(i).name);
      //path_List.add(sltag_List.get(i).path);
     }

     //sltag_List.get(i).model;

     // bb = new ArrayAdapter<String>(Samplespinner.this,android.R.layout.simple_spinner_item, mobile);
     adapter_sltag = new ArrayAdapter<String>(ParxmlActivity.this,android.R.layout.simple_spinner_item, name_List);
     spinner_sltag.setAdapter(adapter_sltag);
     
     hltagPos = i;
    }
   }

   public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub

   }
  });*/





  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("mafile.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));
    
    /*for(int j =0; j<parsedExampleDataSet.getmodel().size(); j++){
     Log.v("getsltag SIZE", ""+parsedExampleDataSet.getsltag().size());
     sltag_List.add(parsedExampleDataSet.getSLTag().get(j));
    }*/
   }
   



   sltag_List = parsedExampleDataSet.getSLTag(hltag_List.get(hltagPos));
 //  model_List = parsedExampleDataSet.getTagModel(sltag_List.get(sltagPos));
   

  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,R.layout.row, R.id.weekofday, hltag_List); 
   spinner_hltag.setAdapter(new MyAdapter(ParxmlActivity.this, R.layout.row, hltag_List)); 
   //spinner_hltag.setAdapter(adapter_hltag);


   spinner_sltag.setAdapter(new MyAdapter1(ParxmlActivity.this, R.layout.row1, name_List)); 


  } catch (Exception e) { 

  }


 }

 
 private class ImageAdapter extends BaseAdapter {

  private Context mContext;
  //ArrayList<String> path_List =new ArrayList<String>();

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

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

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

  public long getItemId(int position) {
   return 0;
  }
  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;
   }

   //Bitmap bitmap = BitmapFactory.decodeFile&#40;path_List&#41;;
   Bitmap bitmap = BitmapFactory.decodeFile&#40;path_List.get(position&#41;);
   imageView.setImageBitmap(bitmap);
   return imageView;

  }



 }
 public class MyAdapter extends ArrayAdapter<String>{


  public MyAdapter(Context context, int textViewResourceId,   ArrayList<String> hltagList) {
   super(context, textViewResourceId, hltagList);
  }



  @Override
  public View getDropDownView(int position, View convertView,ViewGroup parent) {
   return getCustomView(position, convertView, parent);
  }

  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
   return getCustomView(position, convertView, parent);
  }

  public View getCustomView(int position, View convertView, ViewGroup parent) {

   LayoutInflater inflater=getLayoutInflater();
   View row=inflater.inflate(R.layout.row, parent, false);

   TextView label=(TextView)row.findViewById(R.id.weekofday);
   label.setText(hltag_List.get(position));



   ImageView icon=(ImageView)row.findViewById(R.id.icon);

   Bitmap bitmap = BitmapFactory.decodeFile&#40;path_List.get(position&#41;);;
   icon.setImageBitmap(bitmap);

   return row;
  }
 }

 public class MyAdapter1 extends ArrayAdapter<String>{


  public MyAdapter1(Context context, int textViewResourceId,   ArrayList<String> name_List) {
   super(context, textViewResourceId, name_List);
  }



  @Override
  public View getDropDownView(int position, View convertView,ViewGroup parent) {
   return getCustomView(position, convertView, parent);
  }

  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
   return getCustomView(position, convertView, parent);
  }

  public View getCustomView(int position, View convertView, ViewGroup parent) {

   LayoutInflater inflater=getLayoutInflater();
   View row=inflater.inflate(R.layout.row, parent, false);

   TextView sub=(TextView)row.findViewById(R.id.weekofday1);
   sub.setText(name_List.get(position));

   ImageView icon=(ImageView)row.findViewById(R.id.icon);

   Bitmap bitmap = BitmapFactory.decodeFile&#40;path_List.get(position&#41;);;
   icon.setImageBitmap(bitmap);

   return row;
  }
 }

}

Add a code snippet to your website: www.paste.org