Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

probleme mit custom widget/Gallery

Das Thema "probleme mit custom widget/Gallery" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 01.12.2011, 11:32   #1 (permalink)
Android-Hilfe.de Mitglied

Modell: eclipse android emulator

Registriert seit: 02.05.2010
Beiträge: 76
Abgegebene Danke: 15
Erhielt 0 Danke für 0 Beiträge
Standard probleme mit custom widget/Gallery

Hallo liebes Forum,

ich habe mein Problem schon in einem englisch sprachigen Forum gepostet. Leider ohne Erfolg(oder mein englisch ist schlecht :-( )

Zu meinem Problem:
Ich habe mir ein Custom Widget zum ersten mal selber erstellt und habe nun Probleme Instanzen davon zu verändern. Mein Widget ist eine einfache Gallery mit links und rechts zwei Button.

Code:
<?xml version="1.0" encoding="utf-8"?>


<merge xmlns:android="http://schemas.android.com/apk/res/android">       
    <ImageButton android:id="@+id/toLeft"
    android:background="@drawable/arrow_left"
        android:layout_width="wrap_content"
        android:layout_height="40dip"
        android:layout_marginBottom="1dip" />
    <Gallery
        android:id="@+id/gallery"
        android:layout_width="fill_parent"
        android:layout_height="40dip"
        android:layout_toRightOf="@+id/toLeft"
        android:spacing="40dip"
        android:scrollbars="horizontal"/>

    <ImageButton android:id="@+id/toRight"
        android:background="@drawable/arrow_right"
        android:layout_width="wrap_content"
        android:layout_height="40dip" 
        android:layout_toRightOf="@+id/gallery" />
</merge>
Die dazughörige Klasse:

Code:
  public class GallerySlider extends RelativeLayout implements OnClickListener {
    private ArrayAdapter<String> adapter;
private Gallery gallery;
private ImageButton toLeftBtn = null;
private ImageButton toRightbtn = null;

public GallerySlider(Context context) {
     super(context, null);   
     init(context);
}

public GallerySlider(Context context, AttributeSet attrs) {
     super(context, attrs);
     init(context);
}

public GallerySlider(Context context, AttributeSet attrs, int defStyle) {
     super(context, attrs);
     init(context);
}

public void init(Context ctx){
    LayoutInflater inflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE) ;
    inflater.inflate(R.layout.customGallery, this, true);

    toLeftBtn = (ImageButton) findViewById(R.id.toLeft);
    toLeftBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            if(gallery.getSelectedItemPosition() > 0){
                gallery.setSelection(gallery.getSelectedItemPosition()-1);
            }
        }

    });

    toRightbtn = (ImageButton) findViewById(R.id.toRight);
    toRightbtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            if(gallery.getSelectedItemPosition() < gallery.getAdapter().getCount()-1){
                gallery.setSelection(gallery.getSelectedItemPosition()+1);
            }
        }

    });
    adapter = new ArrayAdapter<String>(ctx, android.R.layout.simple_gallery_item, new String[] {"1","1",
                                                                                                    "1")});
    gallery = (Gallery) findViewById(R.id.gallery);
    gallery.setBackgroundResource(R.drawable.h_sliderl);
    gallery.setAdapter(adapter);
}



@Override
public void onClick(DialogInterface dialog, int which) {

    switch(which){
    case R.id.toLeft:   gallery.setSelection(gallery.getFocusedChild().getId()-1);
                        break;

    case R.id.toRight:  gallery.setSelection(gallery.getFocusedChild().getId()+1);
                        break;
    }

}


public void setNewAdapter(ArrayAdapter<String> _adapter){

        gallery.setAdapter(_adapter);
        ((ArrayAdapter) gallery.getAdapter()).notifyDataSetChanged ();
}

Ziel ist es jetzt mehrer Instanzen von dem Widget zu verwenden, ich habe ein kleines Beispiel probiert und leider kann ich wie gesagt keine Eigenschaften des Widgets nach dem instanziieren verändern und ich sehe das Problem nicht(es kommt auch keine Error...).

Der Code meines Minimalbsp.:
Code:
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    LinearLayout lineLayout = (LinearLayout) findViewById(R.id.lin_layout);
    ViewStub st3 = new ViewStub(TestwidgetActivity.this);
    LinearLayout.LayoutParams paramst3 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    lineLayout.addView(st3,paramst3);
    st3.setLayoutResource(R.layout.test);
    st3.inflate();
    GallerySlider gSlider= (GallerySlider) View.findViewById(R.id.choose);
    gSlider.setNewAdapter( new ArrayAdapter<String>(this, android.R.layout.customGallery, new String[] {"1 ","2","3","4"}));
}
Hier die dazugehörige layout xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lin_layout"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

 <com.Test.GallerySlider
     android:id="@+id/choose"
     android:layout_span="2"
     android:layout_width="300dip"
     android:layout_height="wrap_content"    />

</LinearLayout>

In der Gallery müssten eigentlich die Zahlen 1,2,3,4 später angezeigt werden.. leider sind nur die Werte , welche ich beim instanziieren benutze, vorhanden. Ich finde den Fehler leider nicht.. . Log lohnt sich nicht da nichts drin steht und kein Fehler geworfen wird... . Hat Jemand eine Idee?
LG Jim
jim ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Probleme mit Custom Rom andrenrw Root / Hacking / Modding für Samsung Galaxy S 1 12.09.2011 10:33
Gallery Ersatz bei Problemen mit der Original Gallery -FuFu- Motorola Milestone Forum 22 06.04.2011 19:42
Widget und Kamera verlinken zur 3D Gallery? r0ckster05 HTC Desire HD Forum 1 05.02.2011 20:35
[Erste Hilfe] Probleme mit Medien (Gallery, Musikplayer, Videos etc) -FuFu- Motorola Milestone Forum 17 08.12.2010 11:40
Gallery layout Probleme jim Android App Entwicklung 0 19.08.2010 10:05




Du liest gerade: "probleme mit custom widget/Gallery" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.