Autore Topic: adapter per linearlayout  (Letto 616 volte)

Offline gbu123

  • Utente junior
  • **
  • Post: 74
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    windows 7
adapter per linearlayout
« il: 03 Settembre 2012, 11:24:35 CEST »
0
ciao
volevo fare una galleria di immagini orizzontale , eventualmente selezionabili, con un HorizontalScrollView,
non sò se è la soluzione migliore (ho provato con Gallery ma è deprecato e poi non mi soddisfaceva) ;

l'XML è gallerialist.xml :

Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
   
    <Button
        android:id="@+id/ritorna"
        android:layout_width="90dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:text="Back" />
   
    <HorizontalScrollView
        android:id="@+id/loutGL"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/ritorna"
        android:layout_marginLeft="0dp"
        android:layout_marginTop="10dp" >
   
        <ImageView
            android:id="@+id/imgGL"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="3dip"
            android:layout_marginTop="3dip"
            android:layout_marginBottom="3dip"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"/>
   
    </HorizontalScrollView>
   
</LinearLayout>

l'activity è :

Codice: [Seleziona]
package com.example.pippo;

import java.util.ArrayList;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Toast;

public class GalleriaListAct extends Activity {
       
    protected Context mContext;
    private gallAdapter gallAdapt ;
    private HorizontalScrollView loutGL1;
       
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.gallerialist);
        mContext = this;
       
        Intent int2 = getIntent();
       
            // Bottone per tornare indietro
            Button ritorna = (Button) findViewById(R.id.ritorna);
            ritorna.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View v) {
                            Intent myIntent = new Intent(GalleriaListAct.this,MainActivity.class);
                        GalleriaListAct.this.startActivity(myIntent);
                    }
            });
           
       
       // Find the Gallery resource.         
            loutGL1 = (HorizontalScrollView) findViewById( R.id.loutGL );
     
         // Collegamento con la sorgente dati da visualizzare. 
       gallAdapt = new gallAdapter(this); 
           
       // Set the adapter. 
       loutGL1.setAdapter( gallAdapt );
       
    }

}


l'adapter è :

Codice: [Seleziona]
package com.example.pippo;

import java.util.ArrayList;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.Gallery;
import android.widget.TextView;

public class gallAdapter extends BaseAdapter {
  private final Context context;
  //private final ArrayList<String> values;

  // Keep all Images in array
  public Integer[] mThumbIds = {       
                 R.drawable.foto1, R.drawable.foto2,
                 R.drawable.foto3, R.drawable.foto4,
                 R.drawable.foto5, R.drawable.foto6,
                 R.drawable.foto7, R.drawable.foto8,
             R.drawable.foto9
  };
 
  public gallAdapter(Context context) {
    this.context = context;
  }

  //@Override
  public int getCount() {
      return mThumbIds.length;
  }

  //@Override
  public Object getItem(int position) {
      return mThumbIds[position];
  }

  public long getItemId(int position) {
      return position;
  }

  //@Override
  public View getView(int position, View convertView, ViewGroup parent) {
      ImageView imageView = new ImageView(context);       
      imageView.setImageResource(mThumbIds[position]);       

      return imageView;
          } 
 
}

mi dice che il setAdapter non è definito per il tipo HorizontalScrollView

per favore potreste aiutarmi a correggere ?
grazie
ciao