Autore Topic: Come inserire una activity in un textview  (Letto 586 volte)

Offline Carontes

  • Nuovo arrivato
  • *
  • Post: 40
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ideos u8150
Come inserire una activity in un textview
« il: 01 Maggio 2011, 00:35:31 CEST »
0
Salve, io ho questo codice

Codice (Java): [Seleziona]
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import android.app.ExpandableListActivity;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ExpandableListAdapter;
import android.widget.ImageView;
import android.widget.SimpleExpandableListAdapter;
import android.widget.TextView;

/**
 * Demonstrates expandable lists using a custom {...@link
ExpandableListAdapter}
 * from {...@link BaseExpandableListAdapter}.
 */

public class sedactivity extends ExpandableListActivity { ExpandableListAdapter mAdapter;

       
        private final static String NAME = "NAME";
        private final static String SURNAME = "SURNAME";
        private Resources res;
        private Drawable photo, photo2, photo3, photo4;
        private List<Drawable> albumCovers;
       
       
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.list_main);

                // Create a List of Drawables to insert into the Expandable List
                // This can be completely dynamic
                res = this.getResources();
                photo = (Drawable) res.getDrawable(R.drawable.bosco);
                photo2 = (Drawable) res.getDrawable(R.drawable.albero);
                photo3 = (Drawable) res.getDrawable(R.drawable.bomba);
                photo4 = (Drawable) res.getDrawable(R.drawable.astronave);
                albumCovers = new ArrayList<Drawable>();
                albumCovers.add(photo);
                albumCovers.add(photo2);

                // The following code simply generates the Expandable Lists content (Strings)
                List<Map<String, String>> groupData = new ArrayList<Map<String, String>>();
                List<List<Map<String, String>>> childData = new ArrayList<List<Map<String, String>>>();
                Map<String, String>
               
               
                //Lista A
                curGroupMap = new HashMap<String, String>();
                groupData.add(curGroupMap);
               
                curGroupMap.put(NAME, "A");
                curGroupMap.put(SURNAME, "(2 Foto)");



                List<Map<String, String>> children = new ArrayList<Map<String, String>>();
                Map<String, String> curChildMap = new HashMap<String, String>();
                children.add(curChildMap);

               
                curChildMap.put(NAME, "Albero");
               
               
                curChildMap = new HashMap<String, String>();
                children.add(curChildMap);

                curChildMap.put(NAME, "Astronave");
               
                curChildMap = new HashMap<String, String>();
                children.add(curChildMap);

               
                childData.add(children);

               
                //Lista B
                curGroupMap = new HashMap<String, String>();
                groupData.add(curGroupMap);

               
                curGroupMap.put(NAME, "B");
                curGroupMap.put(SURNAME, "(2 Foto)");

                children = new ArrayList<Map<String, String>>();

                curChildMap = new HashMap<String, String>();
                children.add(curChildMap);

                curChildMap.put(NAME, "Bosco");
               
                curChildMap = new HashMap<String, String>();
                children.add(curChildMap);

                curChildMap.put(NAME, "Bomba");
               
                curChildMap = new HashMap<String, String>();
                children.add(curChildMap);


                childData.add(children);
               
               
                //Lista C
                curGroupMap = new HashMap<String, String>();
                groupData.add(curGroupMap);

               
                curGroupMap.put(NAME, "C");
                curGroupMap.put(SURNAME, "(0 Foto)");
               
                children = new ArrayList<Map<String, String>>();

               
                childData.add(children);
               
                // Set up our adapter
                mAdapter = new MyExpandableListAdapter(
                                this,
                                groupData,
                                R.layout.list_parent,
                                new String[] { NAME, SURNAME },
                                new int[] { R.id.rowText1, R.id.rowText2, R.id.photoAlbumImg },
                                childData,
                                R.layout.list_child,
                                new String[] { NAME, SURNAME },
                                new int[] { R.id.rowText1, R.id.photoAlbumImg }
                        );
                setListAdapter(mAdapter);
                registerForContextMenu(getExpandableListView());
        }


        /**
         * A simple adapter which allows you to bind data to specific
         * Views defined within the layout of an Expandable Lists children
         * (Implement getGroupView() to define the layout of parents)
         */

       
       
        public class MyExpandableListAdapter extends SimpleExpandableListAdapter {

                private List<? extends List<? extends Map<String, ?>>> mChildData;
                private String[] mChildFrom;
                private int[] mChildTo;

                public MyExpandableListAdapter(Context context,
                                List<? extends Map<String, ?>> groupData, int groupLayout,
                                String[] groupFrom, int[] groupTo,
                                List<? extends List<? extends Map<String, ?>>> childData,
                                int childLayout, String[] childFrom, int[] childTo) {
                        super(context, groupData, groupLayout, groupFrom, groupTo,
                              childData, childLayout, childFrom, childTo);

                        mChildData = childData;
                        mChildFrom = childFrom;
                        mChildTo = childTo;

                }

                public View getChildView(int groupPosition, int childPosition,
                        boolean isLastChild, View convertView, ViewGroup parent) {

                View v;
                if (convertView == null) {
                        v = newChildView(isLastChild, parent);
                } else {
                        v = convertView;
                }
                bindView(v, mChildData.get(groupPosition).get(childPosition), mChildFrom,
                                mChildTo, groupPosition, childPosition);
                return v;
               
                }

             // This method binds my data to the Views specified in the child xml layout
                private void bindView(View view, Map<String, ?> data, String[] from, int[] to, int groupPosition, int childPosition) {
                        int len = to.length - 1;
                        // Apply TextViews
                        for (int i = 0; i < len; ++i) {
                                TextView v = (TextView) view.findViewById(to[i]);
                                if (v != null) {
                                        v.setText((String) data.get(from[i]));
                                }
                                // Apply ImageView
                                ImageView imgV = (ImageView) view.findViewById(to[1]);
                                if (imgV != null) {
                                    if(childPosition % 1 == 0) imgV.setImageDrawable(albumCovers.get(0));
                                    else imgV.setImageDrawable(albumCovers.get(1));
                            }
 
                               
                        }
                       
                }
        }
}


Come faccio a far partire l'activity riguardante "Albero" "Bomba" e via dicendo? Il file xml è composto da un imageview e a destra c'è un textview. Spero di essere stato comprensibile. Grazie.