Hi I created fully xml based android app, so I used sax parser. Now I have one doubt, my doubt is how to parse arraylist value one activity to another activity. 1st I explain my project, my first screen display 2spinner and one gird view.
The two spinner and grid view display my xml tag strings values, The spinner display some string values and then my gridview display some images in spinner bottom. This is my main screen.
If I select my 1st spinner value automatically my second spinner and grid view also change....
My doubts are if I click my grid view images its open one tab layout. I add three tab in my tab layout. now the tab display only empty screen, but I wish to show some text in the 1st tab view. I have stored some strings value in my arraylist the arraylist name is mspec_List. Now I try to parse that value one activity to another activity? if I click my images I want to show my arraylist text in my 1st tab that's all please help me........
This my main activity full source:
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> mname_List = new ArrayList<String>();
ArrayList<String> mmimage = new ArrayList<String>();
ArrayList<String> mvideo_List = new ArrayList<String>();
ArrayList<schild> model_List =new ArrayList<schild>();
ArrayList<String> mspec_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.putStringArrayListExtra("numbers", mspec_List);
//intent.putExtra("name",model_List.get(position).name);
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);
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));
}
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);
}
model_List.clear();
model_List = sltag_List.get(sltagPos).model;
for(int j = 0; j<model_List.size(); j++){
mmimage_List.addAll(model_List.get(j).imageList);
mname_List.add(model_List.get(j).name);
mvideo_List.addAll(model_List.get(j).videoList);
mmimage.add(model_List.get(j).mimage);
mspec_List.add(model_List.get(j).spec);
}
spinner_hltag.setAdapter(new MyAdapter(ParxmlActivity.this, R.layout.row, hltag_List));
spinner_sltag.setAdapter(new MyAdapter1(ParxmlActivity.this, R.layout.row1,name_List));
} catch (Exception e) {
}
}
private class ImageAdapter extends BaseAdapter {
private Context mContext;
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(path_List);
Bitmap bitmap = BitmapFactory.decodeFile(path_List.get(position));
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(path_List.get(position));;
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(path_List.get(position));;
icon.setImageBitmap(bitmap);
return row;
}
}
}
please see my above code and see this lines: 1. sdcardImages.setOnItemClickListener 2. mspec_List array list and then this is my tab layout source code link: 1. http://paste.org/44196 2. http://paste.org/44195 please help me.