Autore Topic: Cambio colore a textview - SimpleAdapter  (Letto 966 volte)

Offline ciruzz0

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy II
Cambio colore a textview - SimpleAdapter
« il: 10 Ottobre 2012, 14:15:36 CEST »
0
Ciao Ragazzi ho questo problema:
Vorrei cambiare il colore al TAG_ESEGUITO:
 - Rosso se TAG_ESEGUITO è "no".
 - Rosso se TAG_ESEGUITO è "si".

QUESTO E' IL CODICE:

Codice (Java): [Seleziona]
String paziente = c.getString(TAG_PAZIENTE);
String eseguito = c.getString(TAG_ESEGUITO);
..
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_ESEGUITO, eseguito);
map.put(TAG_PAZIENTE, paziente);
productsList.add(map);
..
ListAdapter adapter = new SimpleAdapter(
        AllProductsActivity.this, productsList,
        R.layout.list_item, new String[] { TAG_ESEGUITO, TAG_PAZIENTE},
        new int[] { R.id.eseguito,R.id.paziente
        });

`

 
Di Default TextView "Paziente" in list_item.xml è rosso!
Dove si posizione l'"IF"?
e
Come e dove si cambia il colore?
Sono alle primissime armi con java e android!
Grazie,
Ciro
« Ultima modifica: 10 Ottobre 2012, 14:46:19 CEST da bradipao, Reason: SI PREGA DI USARE IL TAG PER LA FORMATTAZIONE DEL CODICE, GRAZIE »

Offline MrKrabs

  • Utente junior
  • **
  • Post: 94
  • Respect: +4
    • Mostra profilo
Re:Cambio colore a textview - SimpleAdapter
« Risposta #1 il: 10 Ottobre 2012, 14:43:09 CEST »
0

Offline ciruzz0

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy II
Re:Cambio colore a textview - SimpleAdapter
« Risposta #2 il: 10 Ottobre 2012, 14:57:27 CEST »
0
Ciao,
grazie per la risposta,
mi da un problema su public View getView(int position, View convertView, ViewGroup parent) con "ViewGroup parent", mi dice di creare la classe ViewGroup.
Scusa ma sono davvero all'inizio!
Cosa faccio?
Grazie!

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Cambio colore a textview - SimpleAdapter
« Risposta #3 il: 10 Ottobre 2012, 15:03:56 CEST »
0
Ciao,
grazie per la risposta,
mi da un problema su public View getView(int position, View convertView, ViewGroup parent) con "ViewGroup parent", mi dice di creare la classe ViewGroup.
Scusa ma sono davvero all'inizio!
Cosa faccio?
Grazie!
hai fatto un fix import in eclipse?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline ciruzz0

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy II
Re:Cambio colore a textview - SimpleAdapter
« Risposta #4 il: 10 Ottobre 2012, 15:15:28 CEST »
0
Posto il codice della pagina,davvero ci capisco ancora poco:

Codice (Java): [Seleziona]
package com.example.androidhive;

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

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;

public class AllProductsActivity extends ListActivity {

        // Progress Dialog
        private ProgressDialog pDialog;

        // Creating JSON Parser object
        JSONParser jParser = new JSONParser();

        ArrayList<HashMap<String, String>> productsList;

        // url to get all products list
        private static String url_all_products = "http://10.0.2.2/android_connect/get_all_products.php";

        String imeii;
        // JSON Node names
        private static final String TAG_SUCCESS = "success";
        private static final String TAG_PRODUCTS = "products";
        private static final String TAG_PID = "pid";
        private static final String TAG_PAZIENTE = "paziente";
        private static final String TAG_ESEGUITO = "eseguito";
        private static final String TAG_IMEIDB = "imeidb";

        // products JSONArray
        JSONArray products = null;

        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.all_products);

                // Hashmap for ListView
                productsList = new ArrayList<HashMap<String, String>>();

                // Loading products in Background Thread
                new LoadAllProducts().execute();

                // Get listview
                ListView lv = getListView();

                // on seleting single product
                // launching Edit Product Screen
                lv.setOnItemClickListener(new OnItemClickListener() {

                        public void onItemClick(AdapterView<?> parent, View view,
                                        int position, long id) {
                                // getting values from selected ListItem
                                String pid = ((TextView) view.findViewById(R.id.pid)).getText()
                                                .toString();

                                // Starting new intent
                                Intent in = new Intent(getApplicationContext(),
                                                EditProductActivity.class);
                                // sending pid to next activity
                                in.putExtra(TAG_PID, pid);
                               
                                // starting new activity and expecting some response back
                                startActivityForResult(in, 100);
                        }
                });

        }

        // Response from Edit Product Activity
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
                super.onActivityResult(requestCode, resultCode, data);
                // if result code 100
                if (resultCode == 100) {
                        // if result code 100 is received
                        // means user edited/deleted product
                        // reload this screen again
                        Intent intent = getIntent();
                        finish();
                        startActivity(intent);
                }

        }

        /**
         * Background Async Task to Load all product by making HTTP Request
         * */

        class LoadAllProducts extends AsyncTask<String, String, String> {

                /**
                 * Before starting background thread Show Progress Dialog
                 * */

                @Override
                protected void onPreExecute() {
                        super.onPreExecute();
                        pDialog = new ProgressDialog(AllProductsActivity.this);
                        pDialog.setMessage("Caricando gli interventi. Attendere Prego...");
                        pDialog.setIndeterminate(false);
                        pDialog.setCancelable(false);
                        pDialog.show();
                }

                /**
                 * getting All products from url
                 * */

                protected String doInBackground(String... args) {                      
                       
                        // getting product details from intent
                        Intent inte = getIntent();
                       
                        // getting product id (pid) from intent
                        String imeii = inte.getStringExtra("imeii");
                        // Building Parameters
                        List<NameValuePair> params = new ArrayList<NameValuePair>();
                         params.add(new BasicNameValuePair("imeii", imeii));
                        // getting JSON string from URL
                        JSONObject json = jParser.makeHttpRequest(url_all_products, "GET", params);
                       
                        // Check your log cat for JSON reponse
                        Log.d("Interventi: ", json.toString());
                        try {
                                // Checking for SUCCESS TAG
                                int success = json.getInt(TAG_SUCCESS);

                                if (success == 1) {

                                        // Getting Array of Products
                                        products = json.getJSONArray(TAG_PRODUCTS);
                                        // looping through All Products
                                        for (int i = 0; i < products.length(); i++) {
                                                JSONObject c = products.getJSONObject(i);
                                                // Storing each json item in variable
                                                                                               
                                               
                                                String id = c.getString(TAG_PID);
                                                String paziente = c.getString(TAG_PAZIENTE);

                                                String imeidb = c.getString(TAG_IMEIDB);
                                                String eseguito = c.getString(TAG_ESEGUITO);
                                                String steseguito = imeidb + "-" + eseguito;

                                                        HashMap<String, String> map = new HashMap<String, String>();
                                                        map.put(TAG_ESEGUITO, eseguito);
                                                        map.put(TAG_IMEIDB, steseguito);
                                                        map.put(TAG_PID, id);
                                                        map.put(TAG_PAZIENTE, paziente);

                                                        productsList.add(map);

                                        }
                                } else {
                                        // no products found
                                        // Launch Add New product Activity
                                        Intent i = new Intent(getApplicationContext(),
                                                        NewProductActivity.class);
                                        // Closing all previous activities
                                        i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                                        startActivity(i);
                                }
                        } catch (JSONException e) {
                                e.printStackTrace();
                        }

                        return null;
                }

                /**
                 * After completing background task Dismiss the progress dialog
                 * **/

                protected void onPostExecute(String file_url) {
                        // dismiss the dialog after getting all products
                        pDialog.dismiss();
                        // updating UI from Background Thread
                        runOnUiThread(new Runnable() {
                                public void run() {
                                        /**
                                         * Updating parsed JSON data into ListView
                                         * */

                                        ListAdapter adapter = new SimpleAdapter(
                                                        AllProductsActivity.this, productsList,
                                                        R.layout.list_item, new String[] { TAG_ESEGUITO, TAG_IMEIDB, TAG_PID,
                                                                        TAG_PAZIENTE},
                                                        new int[] { R.id.eseguito,R.id.imeidb,R.id.pid, R.id.paziente
                                                                        });
                                       
                                        // updating listview
                                        setListAdapter(adapter);
                                }
                        });

                }

        }
}

Offline FMSolution

  • Nuovo arrivato
  • *
  • Post: 38
  • Respect: +1
    • Google+
    • fabio.paciotti
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Mini
  • Play Store ID:
    FMsoluzioni
  • Sistema operativo:
    Microsoft Windows 7 x64
Re:Cambio colore a textview - SimpleAdapter
« Risposta #5 il: 10 Ottobre 2012, 16:28:50 CEST »
0
Segui questo tutorial è fatto molto bene!

ciao.
Miei programmi: FMsoluzioni;

App sviluppate per conto terzi: TLS Travel; RadioNostalgia; 4Clubbers;

Offline ciruzz0

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy II
Re:Cambio colore a textview - SimpleAdapter
« Risposta #6 il: 10 Ottobre 2012, 16:47:54 CEST »
0
mmmm...
ci sto provando ma non riesco a far cambiare comunque colore al paziente quando eseguito è = 1...