1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Android Spinner in ListView

Discussion in 'Programmieren' started by diealtebremse, Jul 14, 2011.

Thread Status:
Not open for further replies.
  1. Hallo Forum,
    ich weiß nicht ob das überhaupt das richtige Forum ist um diese Frage zu stellen aber tu es einfach mal in der hoffnung dass mir jemand helfen kann.

    Ich enwikle gerade ein Programm für Android 2.2 und bin noch relativ neu bei Android. Ich möchte zunächst nur ein layout erstellen.
    es soll aus zwei untereinanderliegenden spinnern bestehen und darunter soll ein ListView sein in dessen einzelnen Zeilen auch jeweils ein Spinner und ein Button sind.
    Mein Problem ist ich schaffe es weder die spinner in der ListView zu füllen noch einen Listener für die Buttons zu setzen.
    Das hier ist der Quellcode der Activity

    import java.util.ArrayList;
    import java.util.HashMap;

    import android.app.Activity;
    import android.app.Dialog;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.ListView;
    import android.widget.SimpleAdapter;
    import android.widget.Spinner;
    import android.widget.TextView;

    public class Main extends Activity {
    String arr1[]= new String[]{"Estado Mental","Deambulacao","Oxigenacao","Alimentacao","Integridade","Sinais Vitais","Motilidade","Elimanacao","Terapeutica","Cuidado corporal"};
    Spinner sp=null;
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    //
    // sp = (Spinner) findViewById(R.id.grau);
    // SpinAdapter(new String[]{"1","2","3","4","5"},sp);
    //
    // Button but = (Button) findViewById(R.id.oque);
    // but.setOnClickListener(new View.OnClickListener() {
    // public void onClick(View v) {
    // }
    // });

    ListView list = (ListView) findViewById(R.id.list);
    Adapter(list,arr1);

    }
    public void ClickListener(View v){
    MostraDialog("läuft","geht doch man");
    }
    public void SpinAdapter(String[] arr,Spinner spinner){
    try {
    ArrayAdapter<Object> adapter = new ArrayAdapter<Object>(this,android.R.layout.simple_spinner_item,arr);
    spinner.setAdapter(adapter);
    } catch (Exception e) {
    MostraDialog("Adaptar failded","Could not set adapter to Spinner!");
    }
    }
    public void Adapter(ListView list, String[] arr1) {
    ArrayList<HashMap<String, Object>> mylist = new ArrayList<HashMap<String, Object>>();
    HashMap<String, Object> map = null;
    for(int i=0;i<arr1.length;i++){
    map = new HashMap<String, Object>();
    map.put("text", arr1);
    map.put("oque","?");
    mylist.add(map);
    }
    SimpleAdapter mSchedule = new SimpleAdapter(this, mylist, R.layout.rows, new String[] {"text","oque"}, new int[] {R.id.text, R.id.oque});
    list.setAdapter(mSchedule);
    }
    }
    das hier ist die main layout xml:
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TextView android:id="@+id/txt1"
    android:layout_alignParentTop="true"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Clínica" />
    <Spinner android:id="@+id/clinica"
    android:layout_below="@id/txt1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:drawSelectorOnTop="true" />

    <TextView android:id="@+id/txt2"
    android:layout_below="@id/clinica"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Nome Paciente" />

    <Spinner android:id="@+id/nome"
    android:layout_below="@id/txt2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

    <ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/nome"/>
    </RelativeLayout>

    und das die rows.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:paddingTop="4dip"
    android:paddingBottom="6dip"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView android:id="@+id/text"
    android:layout_width="160dip"
    android:layout_height="wrap_content" />

    <Spinner android:id="@+id/grau"
    android:layout_width="90dip"
    android:layout_height="wrap_content"
    android:drawSelectorOnTop="true" />

    <Button android:id="@+id/oque"
    android:layout_width="50dip"
    android:layout_height="wrap_content"/>

    </LinearLayout>

    Gruß diealtebremse
     
  2. ok hab noch mal in den tiefen des webs gegraben und eine methode namens customadapter gefunden. jetzt habe ich aber das problem, dass ich nicht weiß wie ich einen neuen eintrag zur listview hinzufüge. hier der neue quelltext:
    package eec.minimos;

    import android.app.Activity;
    import android.app.Dialog;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.BaseAdapter;
    import android.widget.Button;
    import android.widget.ListView;
    import android.widget.Spinner;
    import android.widget.TextView;

    public class Main extends Activity {
    String arr1[]= new String[]{"Estado Mental","Deambulacao","Oxigenacao","Alimentacao","Integridade","Sinais Vitais","Motilidade","Elimanacao","Terapeutica","Cuidado corporal"};
    Spinner sp=null;
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ListView list = (ListView) findViewById(R.id.list);
    CustomAdapter adapter = new CustomAdapter();
    list.setAdapter(adapter);
    }
    private class CustomAdapter extends BaseAdapter{
    public int getCount() {
    return 0;
    }
    public Object getItem(int position) {
    return null;
    }
    public long getItemId(int position) {
    return 0;
    }
    protected class ViewHolder {
    private Button oque;
    private Spinner grau;
    }
    public View getView(int position, View view, ViewGroup parent) {
    view = View.inflate(getBaseContext(), R.layout.rows, null);

    ViewHolder holder = new ViewHolder();
    holder.oque = (Button) view.findViewById(R.id.oque);
    holder.grau = (Spinner) view.findViewById(R.id.grau);

    holder.oque.setText("?");
    holder.oque.setOnClickListener(ClickListener);
    ArrayAdapter<Object> adapter = new ArrayAdapter<Object>(null, position, new String[]{"1","2","3","4","5"});
    holder.grau.setAdapter(adapter);

    view.setTag(holder);

    return view;
    }
    private OnClickListener ClickListener = new OnClickListener() {
    public void onClick(View v) {

    }
    };
    }
    }
     
  3. Habs gelöst
     
Thread Status:
Not open for further replies.

Share This Page