vendredi 18 septembre 2015

Control CheckBox status

I have retrieved data from a remote db using json and i have created a custom listView with this data. I have three TextView and one CheckBox and it works perfectly. So, i have added a button that would control selected items in list and eventually transfer selected item in another activity. Can someone help me? Here is my code

TextView txtLavorante;
 TextView txtCodice;
 Intent currIntent;
 ListView list;
 String myJSON;

 private ProgressDialog pDialog;

 private static final String TAG_RESULTS="result";
 private static final String TAG_ID = "ID";
 private static final String TAG_NAME = "Descrizione";
 private static final String TAG_PRICE ="Costo";
 private static final String TAG_TIME ="Durata_m";

 JSONArray serv_man = null;
 ArrayList<HashMap<String, String>> list_serv;


 @Override
 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_activity2);
     list = (ListView) findViewById(R.id.listView);
     currIntent = getIntent();
     txtLavorante = (TextView) findViewById (R.id.Lavorante);
     txtCodice = (TextView) findViewById(R.id.CodiceLavorante);
     stampaValori();
     list_serv = new ArrayList<HashMap<String,String>>();
     getData();

 }

 private void stampaValori() {
    //This shows data from previous activity
     String pkg = getApplicationContext().getPackageName();
     String tCode = "ID: " + currIntent.getStringExtra(pkg + "ID") + "\n";
     String tNome =  "Collaboratore scelto: " + currIntent.getStringExtra(pkg + "LAV") + "\n";
     txtLavorante.setText(tNome);
     txtCodice.setText(tCode);
 }

 protected void showList(){
     try {
         JSONObject jsonObj = new JSONObject(myJSON);
         serv_man = jsonObj.getJSONArray(TAG_RESULTS);

         for(int i=0;i<serv_man.length();i++){
             JSONObject c = serv_man.getJSONObject(i);
             String id = c.getString(TAG_ID);
             String name = c.getString(TAG_NAME);
             String price = c.getString(TAG_PRICE);
             String time = c.getString(TAG_TIME);


             HashMap<String,String> persons = new HashMap<String,String>();

             persons.put(TAG_ID,id);
             persons.put(TAG_NAME,name);
             persons.put(TAG_PRICE,price);
             persons.put(TAG_TIME,time);
             list_serv.add(persons);
         }

         //Adattatore
         ListAdapter adapter = new SimpleAdapter(
                 Activity3.this, list_serv, R.layout.prenota_serv,
                 new String[]{TAG_ID,TAG_NAME,TAG_PRICE,TAG_TIME},
                 new int[]{R.id.et_id, R.id.et_serv, R.id.et_costo,R.id.et_dur}
         );

         list.setAdapter(adapter);



     } catch (JSONException e) {
         e.printStackTrace();
     }

 }

 public void getData(){
     // Get data from Remote db
         }

         @Override
         protected void onPreExecute() {
             super.onPreExecute();
             pDialog = new ProgressDialog(Activity3.this);
             pDialog.setMessage("Obtaining list...");
             pDialog.setIndeterminate(false);
             pDialog.setCancelable(true);
             pDialog.show();
         }


         @Override
         protected void onPostExecute(String result){
             pDialog.dismiss();
             myJSON=result;
             showList();
         }
     }
     GetDataJSON g = new GetDataJSON();
     g.execute();
 }


 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
     // Inflate the menu; this adds items to the action bar if it is present.
     getMenuInflater().inflate(R.menu.menu_activity3, menu);
     return true;
 }

 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
     // Handle action bar item clicks here. The action bar will
     // automatically handle clicks on the Home/Up button, so long
     // as you specify a parent activity in AndroidManifest.xml.
     int id = item.getItemId();

     //noinspection SimplifiableIfStatement
     if (id == R.id.action_settings) {
         return true;
     }

     return super.onOptionsItemSelected(item);
 }

}

Custom Layout

<?xml version="1.0" encoding="utf-8"?>

<TextView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:text="Servizio:"
    android:textSize="7pt"
    android:id="@+id/tv_serv"
    android:layout_alignBottom="@+id/tv_id"
    android:layout_alignLeft="@+id/tv_id"
    android:layout_alignStart="@+id/tv_id" />
<EditText
    android:background="@android:drawable/editbox_background"
    android:layout_height="wrap_content"
    android:layout_width="190dip"
    android:id="@+id/et_serv"
    android:layout_gravity="center_horizontal"
    android:textSize="7pt"
    android:layout_alignBottom="@+id/et_id"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />
<TextView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:text="Costo Euro:"
    android:textSize="7pt"
    android:id="@+id/tv_cost"
    android:layout_below="@+id/et_serv"
    android:layout_alignLeft="@+id/tv_serv"
    android:layout_alignStart="@+id/tv_serv" />
<EditText
    android:background="@android:drawable/editbox_background"
    android:layout_height="wrap_content"
    android:layout_width="120dip"
    android:id="@+id/et_costo"
    android:layout_gravity="center_horizontal"
    android:layout_below="@+id/et_serv"
    android:layout_alignLeft="@+id/et_serv"
    android:layout_alignStart="@+id/et_serv"
    android:textSize="7pt" />
<TextView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:text="Durata min:"
    android:textSize="7pt"
    android:id="@+id/tv_dur"
    android:layout_below="@+id/et_costo"
    android:layout_alignLeft="@+id/tv_cost"
    android:layout_alignStart="@+id/tv_cost" />
<EditText
    android:background="@android:drawable/editbox_background"
    android:layout_height="wrap_content"
    android:layout_width="70dip"
    android:id="@+id/et_dur"
    android:layout_gravity="center_horizontal"
    android:textSize="7pt"
    android:layout_alignTop="@+id/tv_dur"
    android:layout_alignLeft="@+id/et_costo"
    android:layout_alignStart="@+id/et_costo" />
<TextView
    android:layout_marginTop="5dip"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:text="Nr:"
    android:layout_marginLeft="5dip"
    android:layout_marginRight="9dip"
    android:layout_alignParentLeft="true"
    android:textSize="10pt"
    android:id="@+id/tv_id"
    android:visibility="invisible" />
<EditText
    android:background="@android:drawable/editbox_background"
    android:layout_height="wrap_content"
    android:layout_width="70dip"
    android:id="@+id/et_id"
    android:layout_gravity="center_horizontal"
    android:layout_alignTop="@+id/tv_id"
    android:layout_alignLeft="@+id/et_serv"
    android:layout_alignStart="@+id/et_serv"
    android:enabled="false"
    android:elegantTextHeight="false"
    android:visibility="invisible" />

<CheckBox
    android:id="@+id/checkBox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:focusable="false"
    android:focusableInTouchMode="false"
    android:text="CheckBox"
    android:layout_below="@+id/tv_dur"
    android:layout_alignRight="@+id/et_serv"
    android:layout_alignEnd="@+id/et_serv" />

activity_activity3.xml

<LinearLayout xmlns:android="http://ift.tt/nIICcg"
xmlns:tools="http://ift.tt/LrGmb4" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="net.puntosys.http://ift.tt/1F6uFDK"
android:orientation="vertical">

<TextView android:text="hello_word" android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/Lavorante"
    android:textStyle="bold"
    android:textSize="22dp" />

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="New Button"
    android:id="@+id/button"
    android:layout_gravity="right" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Small Text"
    android:id="@+id/CodiceLavorante"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:visibility="invisible" />

<ListView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/listView" />




Aucun commentaire:

Enregistrer un commentaire