java - Taking details from onClick item -


first apologize if question already, couldn't find right answer problem. transferred data mysql list, , that's working fine, want make item list clickable. when select person list, dialog should pop name , button call him. issue how name , phone number on click. please take on code, cause wasn't making specific strings in other examples. , here codes:

application adapter

package com.sj.jsondemo;  import java.util.list; import android.content.context; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.arrayadapter; import android.widget.textview;  public class applicationadapter extends arrayadapter<application>{     private list<application> items;      public applicationadapter(context context, list<application> items) {         super(context, r.layout.app_custom_list, items);         this.items = items;     }      @override     public int getcount() {         return items.size();     }      @override     public view getview(int position, view convertview, viewgroup parent) {         view v = convertview;          if(v == null) {             layoutinflater li = layoutinflater.from(getcontext());             v = li.inflate(r.layout.app_custom_list, null);                     }          application app = items.get(position);          if(app != null) {              textview imetext = (textview)v.findviewbyid(r.id.titletxt);             textview teltext = (textview)v.findviewbyid(r.id.tel);             textview gradtext = (textview)v.findviewbyid(r.id.dltxt);              if(imetext != null) imetext.settext(app.getime());             if(gradtext != null) gradtext.settext(app.getgrad());                                    if(teltext != null) teltext.settext(app.gettelefon());             }          return v;     } } 

fetchdatatask

package com.sj.jsondemo;  import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreader; import java.util.arraylist; import java.util.list;  import org.apache.http.httpentity; import org.apache.http.httpresponse; import org.apache.http.client.httpclient; import org.apache.http.client.methods.httpget; import org.apache.http.impl.client.defaulthttpclient; import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject; import android.os.asynctask;  public class fetchdatatask extends asynctask<string, void, string>{     private final fetchdatalistener listener;     private string msg;      public fetchdatatask(fetchdatalistener listener) {         this.listener = listener;     }      @override     protected string doinbackground(string... params) {         if(params == null) return null;          // url params         string url = params[0];          try {             // create http connection             httpclient client = new defaulthttpclient();             httpget httpget = new httpget(url);              // connect             httpresponse response = client.execute(httpget);              // response             httpentity entity = response.getentity();              if(entity == null) {                 msg = "no response server";                 return null;                     }              // response content , convert json string             inputstream = entity.getcontent();             return streamtostring(is);         }         catch(ioexception e){             msg = "no network connection";         }          return null;     }      @override     protected void onpostexecute(string sjson) {         if(sjson == null) {             if(listener != null) listener.onfetchfailure(msg);             return;         }                  try {             // convert json string json array             jsonarray ajson = new jsonarray(sjson);             // create apps list             list<application> apps = new arraylist<application>();              for(int i=0; i<ajson.length(); i++) {                 jsonobject json = ajson.getjsonobject(i);                 application app = new application();                 app.setime(json.getstring("ime"));                 app.setgrad(json.getstring("grad"));                 app.settelefon(json.getstring("broj"));                     // add app apps list                 apps.add(app);             }              //notify activity fetch data has been complete             if(listener != null) listener.onfetchcomplete(apps);         } catch (jsonexception e) {             msg = "invalid response";             if(listener != null) listener.onfetchfailure(msg);             return;         }             }      /**      * function convert response stream json string      * @param respons string      * @return json string      * @throws ioexception      */     public string streamtostring(final inputstream is) throws ioexception{         bufferedreader reader = new bufferedreader(new inputstreamreader(is));         stringbuilder sb = new stringbuilder();          string line = null;          try {             while ((line = reader.readline()) != null) {                 sb.append(line + "\n");             }         }          catch (ioexception e) {             throw e;         }          {                        try {                 is.close();             }              catch (ioexception e) {                 throw e;             }         }          return sb.tostring();     } } 

and main

package com.sj.jsondemo;  import java.util.list; import android.app.alertdialog; import android.app.listactivity; import android.app.progressdialog; import android.content.dialoginterface; import android.content.intent; import android.net.uri; import android.os.bundle; import android.view.view; import android.widget.adapterview; import android.widget.arrayadapter; import android.widget.listview; import android.widget.textview; import android.widget.toast; import android.widget.adapterview.onitemclicklistener;  public class mainactivity extends listactivity implements fetchdatalistener{     private progressdialog dialog;     private static final string tag_pid = "pid";      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);                 setcontentview(r.layout.activity_main);                 initview();             setlistadapter(new arrayadapter<string>(this, r.layout.activity_main));          listview listview = getlistview();         listview.settextfilterenabled(true);          listview.setonitemclicklistener(new onitemclicklistener() {             public void onitemclick(adapterview<?> parent, view view,                     final int position, long id) {                   alertdialog.builder adb=new alertdialog.builder(mainactivity.this);                 adb.settitle("odabir");                 adb.setmessage("izabrali ste profesora "+ ??? ); //how name of selected person                  adb.setpositivebutton("call",new dialoginterface.onclicklistener() {                     public void onclick (dialoginterface dialog, int which) {                     intent i=new intent(android.content.intent.action_dial,                         uri.parse("tel:+"+ ???);  //how number of selected person                     startactivity(i);                     }                 });                 adb.show();              }         });     }      private void initview() {         // show progress dialog         dialog = progressdialog.show(this, "", "loading...");          string url = "http://192.168.1.12/test/apps.php";         fetchdatatask task = new fetchdatatask(this);         task.execute(url);     }      @override     public void onfetchcomplete(list<application> data) {         // dismiss progress dialog         if(dialog != null)  dialog.dismiss();         // create new adapter         applicationadapter adapter = new applicationadapter(this, data);         // set adapter list         setlistadapter(adapter);             }      @override     public void onfetchfailure(string msg) {         // dismiss progress dialog         if(dialog != null)  dialog.dismiss();         // show failure message         toast.maketext(this, msg, toast.length_long).show();             }     } 

and php

<?php $host = "localhost"; // host of mysql server $user = "root"; // mysql user $pwd = "aleksa"; // mysql user's password $db = "spisak"; // database name  // create connection $con = mysqli_connect($host, $user, $pwd, $db);  // check connection if(mysqli_connect_errno($con)) {     die("failed connect mysql: " . mysqli_connect_error()); }   // query application data $sql = "select * lista order id"; $result = mysqli_query($con, $sql);    // array save application data $rows = array();  // iterate query result , add every rows array while($row = mysqli_fetch_array($result, mysqli_assoc)) {     $rows[] = $row;   }   // close database connection mysqli_close($con);  // echo application data in json format echo json_encode($rows); 

thank in advance.

rgds,

alex

edit: edited code, made shorted, can me more easily.


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -