ListView u. TextView

  • 7 Antworten
  • Letztes Antwortdatum
B

Benzko

Neues Mitglied
0
Hallo,

wie bekommen ich es hin in meinem ListView pro Zeile einen anderen
Wert ins TextView zu schreiben? Momentan habe ich ja nur die Möglichkeit das
Textview mit der R.id.text_item zu beschreiben. Wie kann ich das pro Zeile beschreiben?

Danke im Voraus.

Code:
 ListeInput=(ListView)findViewById(R.id.INPUTS);
      
        

        
      final ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this, R.layout.row_item_one ,R.id.text_item, ListINPUT);
       ListeInput.setAdapter(adapter1);
       
      ListeInput.setEnabled(false);
 
A

Anzeige

  • Gerade eben
  • Neu
Ich verstehe die Funktion noch nicht ganz. Wie kann ich das Textview so unterscheiden das ich pro zeile andere Werte reinschreiben kann? Ich hole mir die Werte von einem Server und diese verändern sich auch dauernd. Das heißt ich muss die Liste auch aktualisieren.


Also nochmal kurz zu Erklärung meiner ListView

Zeile1: Außentemperatur <--Festwert 10°C<-- Variabler Wert vom Server der Aktualisiert werden soll
Zeile2: Innentemperatur 20°C
Zeile3: Temperatur3 14°C
.
.
.
usw.



die Temperaturen möchte ich vom Server holen und in das TextView schreiben.

Wär super wenn Ihr mir helfen könntet.
 
Du musst eine ArrayList verwenden.
Ich würd für das aktualisieren eine neue Methode schreiben, um deinen Code übersichtlich zu halten.
Code:
public class Main extends Activity
{
    static ArrayList<String> templist;
    static ArrayAdapter<String> temadapter;
    static int outtemp, intemp;
    public void onCreate(Bundle savedInstanceState)
    {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
         outtemp = 10;
         intemp = 0;
         ListView listeinput = (ListView) findViewById(R.id.INPUTS);
         templist = new ArrayList<String>();
         tempadapter = new ArrayAdapter(this, R.layout.row, templist);

         templist.add("Aussentemperatur: " + outtemp + " ℃");
         templist.add("Innentemperatur: " + intemp + " ℃");
    }

    public void UpdateTemp()
    {
         //outtemp und intemp neu setzen danach:
         
         templist.clear();
         templist.add("Aussentemperatur: " + outtemp + " ℃");
         //Das selbe mit intemp
         //Fertig :D
    }
}

Die UpdateTemp() Methode musst du dann aufrufen, wenn du das halt updatest :p

Hoffe das hilft
;D
 
Danke für die Hilfe Grenstar.
Jetzt hab ich bloß noch das Probkem, dass er mit als Wert 0 anzeigt. Aktualiesien
klappt soweit der Wert ist auch in der variabel outtemp drin, aber der Wert wird nicht in meiner Liste angezeigt.

Habt ihr eine Idee?
 
Ähh bei welcher Variable steht 0 ?
Und was meinste mit der Wert wird nicht in der Liste angezeiht ? Ist das dann " Aussentemeratur: ℃"
Wenn ja ändere mal die templist.add() auf das hier:
Code:
templist.add("Aussentemperatur: " + String.valueOf(outtemp) + " ℃");
 
Die Variable outtemp wir mir wenn ich sie als String deklariere mit
"null" und als integer "0" angezeigt. Auch mit String.valueOf(outtemp) bekomme
ich keinen Wert angezeigt. Beim debuggen jedoch zeig er mir den Wert den ich auslese aber passend an.

Hat hier noch einer eine Idee?

Der ursprüngliche Beitrag von 21:04 Uhr wurde um 21:15 Uhr ergänzt:

Die Variable outtemp wir mir wenn ich sie als String deklariere mit
"null" und als integer "0" angezeigt. Auch mit String.valueOf(outtemp) bekomme
ich keinen Wert angezeigt. Beim debuggen jedoch zeig er mir den Wert den ich auslese aber passend an.

Hat hier noch einer eine Idee?

Code:
templist = new ArrayList<String>();
           templist.add("Aussentemperatur: " + String.valueOf(outtemp) + " ℃");
           templist.add("Innentemperatur: " + String.valueOf(intemp) + " ℃");
            
            
           tempadapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, templist);
           
           
           ListView ListeInput = (ListView) findViewById(R.id.INPUTS);
           
         
           ListeInput.setAdapter(tempadapter);


//Update Funktion

public void UpdateTemp()
{
    
     
     templist.clear();
     
     outtemp=(ArrayMerker[0]);
     templist.add("Aussentemperatur: " + String.valueOf(outtemp) + " ℃");
  
}
}

Ich hätte auch gerne den String Aussentemperatur ganz links und den Wert outtemp ganz rechts im Display. Wie kann ich das realisieren um auch hier pro Displaygröße variabel zu sein?

Danke im Voraus
 
Hat keiner eine Idee?

Danke im Voraus.
 
Zurück
Oben Unten