In einem ListView (Android Studio) bestimmte Werte farbig anzeigen
Hi,
Ich würde mal eure Hilfe gebrauchen.
Ich habe mir im Android Studio eine App erstellt, wo ich meine Heizungsdaten anzeigen lasse.
Die Werte stehen in einer mysql DB und ich habe es so weit, dass die mir in einer ListView angezeigt werden.
Leider bin ich ein Anfänger in der Android Entwicklung, aber mich interessiert das sehr.
Ich hole mir die Daten mit PHP aus der DB und die werden auch angezeigt.
Jetzt mein Problem.
Ich würde gerne bestimmte Werte mit z.B. Rotem Text anzeigen.
Wie mache ich das Richtig?
Mich würde interessieren wo man da die wahrscheinlich if Anweisung reinschreibt.
Meine XML Datei schaut so aus:
<?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="fill_parent"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout"
android:orientation="vertical"
tools:context=".temperatur">
<TableRow
android:layout_width="match_parent"
android:layout_height="20dp"
android:background="#aacfef">
<TextView
android:id="@+id/col0"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:text="Datum/Zeit"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black"
android:textSize="15dp" />
<TextView
android:id="@+id/col2"
android:layout_width="74dp"
android:layout_height="wrap_content"
android:text="Außen"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black"
android:textSize="15dp" />
<TextView
android:id="@+id/col3"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:text="WWas."
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black"
android:textSize="15dp" />
</TableRow>
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="490dp">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/lv"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:background="@drawable/tableheaderborder"
android:paddingLeft="3dp"
android:text="@string/col1Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black" />
<TextView
android:id="@+id/lv1"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:background="@drawable/tableheaderborder"
android:paddingLeft="3dp"
android:text="@string/col2Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black" />
<TextView
android:id="@+id/lv2"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:background="@drawable/tableheaderborder"
android:paddingLeft="3dp"
android:text="col3"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black" />
</LinearLayout>
</ScrollView>
</HorizontalScrollView>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="2dp">
<Button
android:id="@+id/button5"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:text="60Tg" />
<Button
android:id="@+id/button7"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:text="Alles" />
<Button
android:id="@+id/button8"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:text="zurück" />
</TableRow>
</LinearLayout>
Und meine Java schaut so aus:
package temperatur.de.heizung;
import android.annotation.SuppressLint;
import android.graphics.Color;
import android.os.AsyncTask;
import android.widget.TextView;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/**
Ich würde mal eure Hilfe gebrauchen.
Ich habe mir im Android Studio eine App erstellt, wo ich meine Heizungsdaten anzeigen lasse.
Die Werte stehen in einer mysql DB und ich habe es so weit, dass die mir in einer ListView angezeigt werden.
Leider bin ich ein Anfänger in der Android Entwicklung, aber mich interessiert das sehr.
Ich hole mir die Daten mit PHP aus der DB und die werden auch angezeigt.
Jetzt mein Problem.
Ich würde gerne bestimmte Werte mit z.B. Rotem Text anzeigen.
Wie mache ich das Richtig?
Mich würde interessieren wo man da die wahrscheinlich if Anweisung reinschreibt.
Meine XML Datei schaut so aus:
<?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="fill_parent"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout"
android:orientation="vertical"
tools:context=".temperatur">
<TableRow
android:layout_width="match_parent"
android:layout_height="20dp"
android:background="#aacfef">
<TextView
android:id="@+id/col0"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:text="Datum/Zeit"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black"
android:textSize="15dp" />
<TextView
android:id="@+id/col2"
android:layout_width="74dp"
android:layout_height="wrap_content"
android:text="Außen"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black"
android:textSize="15dp" />
<TextView
android:id="@+id/col3"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:text="WWas."
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black"
android:textSize="15dp" />
</TableRow>
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="490dp">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/lv"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:background="@drawable/tableheaderborder"
android:paddingLeft="3dp"
android:text="@string/col1Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black" />
<TextView
android:id="@+id/lv1"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:background="@drawable/tableheaderborder"
android:paddingLeft="3dp"
android:text="@string/col2Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black" />
<TextView
android:id="@+id/lv2"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:background="@drawable/tableheaderborder"
android:paddingLeft="3dp"
android:text="col3"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black" />
</LinearLayout>
</ScrollView>
</HorizontalScrollView>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="2dp">
<Button
android:id="@+id/button5"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:text="60Tg" />
<Button
android:id="@+id/button7"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:text="Alles" />
<Button
android:id="@+id/button8"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:text="zurück" />
</TableRow>
</LinearLayout>
Und meine Java schaut so aus:
package temperatur.de.heizung;
import android.annotation.SuppressLint;
import android.graphics.Color;
import android.os.AsyncTask;
import android.widget.TextView;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/**
- Created by Abhishek Panwar on 7/14/2017.
public class fetchData_alles extends AsyncTask<Void,Void,Void> {
String data ="";
String data1 ="";
String dataParsed = "";
String dataParsed1 = "";
String dataParsed2 = "";
String singleParsed_datum ="";
String singleParsed_temp_aussen ="";
String singleParsed_temp_wwasser ="";
String singleParsed_temp_kessel ="";
public static int data2;
@override
protected Void doInBackground(Void... voids) {
try {
URL url = new URL("http://meineDaten.php");
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line = "";
while(line != null){
line = bufferedReader.readLine();
data = data + line;
}
JSONArray JA = new JSONArray(data);
for(int i =0 ;i <JA.length(); i++) {
JSONObject JO = (JSONObject) JA.get(i);
singleParsed_datum = "" + JO.get("datum") + "\n";
singleParsed_temp_aussen = "" + JO.get("temp_aussen") + "" + "\n";
singleParsed_temp_wwasser = "" + JO.get("temp_wwasser") + "" + "\n";
singleParsed_temp_kessel = "kessel:" + JO.get("temp_kessel") + "" + "\n";
dataParsed = dataParsed + singleParsed_datum;
dataParsed1 = dataParsed1 + singleParsed_temp_aussen;
dataParsed2 = dataParsed2 + singleParsed_temp_wwasser;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
@override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
temperatur.data.setText(this.dataParsed);
temperatur.data1.setText(this.dataParsed1);
temperatur.data2.setText(this.dataParsed2);
}
}
Und noch:
package temperatur.de.heizung;
import android.content.Intent;
import android.graphics.Canvas;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import java.util.List;
public class temperatur extends AppCompatActivity {
Button click5;
Button click7;
public static TextView data;
public static TextView data1;
public static TextView data2;
@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_temperatur);
click5 = (Button) findViewById(R.id.button5);
click7 = (Button) findViewById(R.id.button7);
data = (TextView) findViewById(R.id.lv);
data1 = (TextView) findViewById(R.id.lv1);
data2 = (TextView) findViewById(R.id.lv2);
click5.setOnClickListener(new View.OnClickListener() {
@override
public void onClick(View view) {
fetchData process = new fetchData();
process.execute();
}
});
click7.setOnClickListener(new View.OnClickListener() {
@override
public void onClick(View view) {
fetchData_alles process = new fetchData_alles();
process.execute();
}
});
Button btn8 = (Button) findViewById(R.id.button8);
btn8.setOnClickListener(new View.OnClickListener() {
@override
public void onClick(View view) {
Intent intent = new Intent(temperatur.this, MainStartActivity.class);
startActivity(intent);
}
});
}
}
Danke.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 374232
Url: https://administrator.de/forum/in-einem-listview-android-studio-bestimmte-werte-farbig-anzeigen-374232.html
Ausgedruckt am: 26.12.2024 um 06:12 Uhr