Willkommen im PC-Welt-Forum
Liebe Leser,
Wenn dies Ihr erster Besuch hier ist, lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Sie müssen sich vermutlich registrieren, bevor Sie Beiträge verfassen können. Klicken Sie rechts auf 'Jetzt registrieren.', um den Registrierungsprozess zu starten.
Wenn dies Ihr erster Besuch hier ist, lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Sie müssen sich vermutlich registrieren, bevor Sie Beiträge verfassen können. Klicken Sie rechts auf 'Jetzt registrieren.', um den Registrierungsprozess zu starten.
Ergebnis 1 bis 3 von 3
Thema: Android Spinner in ListView
-
14.07.2011, 13:59 #1
ROM
- Registriert seit
- 07.2011
- Beiträge
- 6
Android Spinner in ListView
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[i]);
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
-
14.07.2011, 15:56 #2
ROM
- Registriert seit
- 07.2011
- Beiträge
- 6
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) {
}
};
}
}
-
14.07.2011, 17:39 #3
ROM
- Registriert seit
- 07.2011
- Beiträge
- 6
Habs gelöst
Ähnliche Themen
-
Android-Boom: Geniale Android-Produkte, die keine Handys sind
Von mittendurch im Forum Online: Ihre Meinung zu redaktionellen Artikeln auf unserer WebsiteAntworten: 5Letzter Beitrag: 11.08.2010, 07:57 -
Android-Update: Android 2.2 für HTC Desire steht bereit
Von Edja im Forum Online: Ihre Meinung zu redaktionellen Artikeln auf unserer WebsiteAntworten: 0Letzter Beitrag: 02.08.2010, 15:00 -
Android-Update: Android 2.2 bringt USB-Tethering, Wifi-Hotspot & mehr Tempo
Von remarque im Forum Online: Ihre Meinung zu redaktionellen Artikeln auf unserer WebsiteAntworten: 1Letzter Beitrag: 17.05.2010, 11:33 -
C# - Suchen in der ListView
Von User071009 im Forum ProgrammierenAntworten: 5Letzter Beitrag: 25.08.2009, 08:26
Stichworte
12

Zitieren

Lesezeichen