Accessing TextView from other class in android -


hello new android.i creating simple google cloud appengine app endpoint.i using using tutorial https://github.com/googlecloudplatform/gradle-appengine-templates/tree/master/helloendpoints .but thing want show result in textview not in toast.


layout.xml

  <linearlayout xmlns:android="http://schemas.android.com/apk/res/android"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:orientation="vertical"        android:id="@+id/lay1">      <edittext         android:id="@+id/edt1"         android:layout_width="match_parent"         android:layout_height="100dp"         android:hint="enter number"         android:inputtype="number"         android:textsize="24sp" />      <edittext         android:id="@+id/edt2"         android:layout_width="match_parent"         android:layout_height="100dp"         android:hint="enter number"         android:inputtype="number"         android:textsize="24sp" />      <textview         android:id="@+id/tv1"         android:layout_width="match_parent"         android:layout_height="100dp"         android:hint="result here"         android:textsize="24sp" />      <button         android:id="@+id/btnadd"         android:layout_width="match_parent"         android:layout_height="100dp"         android:text="add" />      </linearlayout> 

googleappengactivity.java (main activity)


        package com.ontech.googleappengine;          import android.content.context;         import android.support.v7.app.appcompatactivity;         import android.os.bundle;         import android.util.pair;         import android.view.menu;         import android.view.menuitem;         import android.view.view;         import android.widget.button;         import android.widget.edittext;         import android.widget.textview;          public class googleappengactivity extends appcompatactivity {              button btnadd;             textview tv1;             //string val1,val2;             edittext edt1,edt2;             @override             protected void oncreate(bundle savedinstancestate) {                 super.oncreate(savedinstancestate);                 setcontentview(r.layout.activity_google_app_eng);                   edt1=(edittext)findviewbyid(r.id.edt1);                 edt2=(edittext)findviewbyid(r.id.edt2);                 tv1=(textview)findviewbyid(r.id.tv1);                 btnadd =(button)findviewbyid(r.id.btnadd);                 btnadd.setonclicklistener(new view.onclicklistener() {                     @override                     public void onclick(view v) {                          string temp = "";                         temp = edt1.gettext().tostring();                         temp += "+";                         temp += edt2.gettext().tostring();                          new endpointsasynctask().execute(new pair<context, string>(googleappengactivity.this, temp));                       //  tv1.settext( new endpointsasynctask().);                     }                 });                 // new endpointsasynctask().execute(new pair<context, string>(this, "manfred"));             }              public textview gettextview(){                  textview txtview=(textview)findviewbyid(r.id.tv1);                 return txtview;             }           } 

endpointsasynctask.java


    package com.ontech.googleappengine;      //package com.ontech.googleappengine;      import android.content.context;     import android.os.asynctask;     import android.text.layout;     import android.util.pair;     import android.view.layoutinflater;     import android.view.view;     import android.widget.linearlayout;     import android.widget.textview;     import android.widget.toast;      import com.google.api.client.extensions.android.http.androidhttp;     import com.google.api.client.extensions.android.json.androidjsonfactory;     import com.google.api.client.googleapis.services.abstractgoogleclientrequest;     import com.google.api.client.googleapis.services.googleclientrequestinitializer;     import com.ontech.myapplication.backend.myapi.myapi;      import java.io.ioexception;      /**      * created on 05-11-2015.      */     public class endpointsasynctask extends asynctask<pair<context, string>, void, string> {         private static myapi myapiservice = null;         private context context;          @override         protected string doinbackground(pair<context, string>... params) {             if (myapiservice == null) {  // once               /*  myapi.builder builder = new myapi.builder(androidhttp.newcompatibletransport(),                         new androidjsonfactory(), null)                         // options running against local devappserver                         // - 10.0.2.2 localhost's ip address in android emulator                         // - turn off compression when running against local devappserver                         .setrooturl("http://10.0.2.2:8080/_ah/api/")                         .setgoogleclientrequestinitializer(new googleclientrequestinitializer() {                             @override                             public void initialize(abstractgoogleclientrequest<?> abstractgoogleclientrequest) throws ioexception {                                 abstractgoogleclientrequest.setdisablegzipcontent(true);                             }                         });*/                  myapi.builder builder = new myapi.builder(androidhttp.newcompatibletransport(), new androidjsonfactory(), null)                         .setrooturl("https://leafy-display-112017.appspot.com/_ah/api/");                 // end options devappserver                  myapiservice = builder.build();             }              context = params[0].first;             string name = params[0].second;              try {                 return myapiservice.sayhi(name).execute().getdata();             } catch (ioexception e) {                 return e.getmessage();             }         }          @override         protected void onpostexecute(string result) {              toast.maketext(context, result, toast.length_long).show();         }     } 

my endpoint.java


package com.ontech.myapplication.backend;  import com.google.api.server.spi.config.api; import com.google.api.server.spi.config.apimethod; import com.google.api.server.spi.config.apinamespace;  import javax.inject.named;  /**  * endpoint class exposing  */ @api(         name = "myapi",         version = "v1",         namespace = @apinamespace(                 ownerdomain = "backend.myapplication.ontech.com",                 ownername = "backend.myapplication.ontech.com",                 packagepath = ""         ) ) public class myendpoint {      /**      * simple endpoint method takes name , says hi      */     @apimethod(name = "sayhi")     public mybean sayhi(@named("name") string name) {         mybean response = new mybean();          string val1, val2;         val1 = name.substring(0, name.indexof("+"));         val2 = name.substring(name.indexof("+") + 1);         int res = integer.parseint(val1) + integer.parseint(val2);         // response.setdata("hi, " + name);         response.setdata(integer.tostring(res));         return response;     }  } 

mybean.java


package com.ontech.myapplication.backend;  /**  * object model data sending through endpoints  */ public class mybean {      private string mydata;         public string getdata() {         return mydata;     }      public void setdata(string data) {         mydata = data;     } } 

pass textview parameter constructor of endpointsasynctask in want show result done below.

public class endpointsasynctask extends asynctask<pair<context, string>, void, string> {         private static myapi myapiservice = null;         private context context;         private textview textview  public endpointsasynctask(context context,textview mtextview) {     // todo auto-generated constructor stub             this.context=context;             this.textview=mtextview; }          @override         protected string doinbackground(pair<context, string>... params) {             if (myapiservice == null) {  // once               /*  myapi.builder builder = new myapi.builder(androidhttp.newcompatibletransport(),                         new androidjsonfactory(), null)                         // options running against local devappserver                         // - 10.0.2.2 localhost's ip address in android emulator                         // - turn off compression when running against local devappserver                         .setrooturl("http://10.0.2.2:8080/_ah/api/")                         .setgoogleclientrequestinitializer(new googleclientrequestinitializer() {                             @override                             public void initialize(abstractgoogleclientrequest<?> abstractgoogleclientrequest) throws ioexception {                                 abstractgoogleclientrequest.setdisablegzipcontent(true);                             }                         });*/                  myapi.builder builder = new myapi.builder(androidhttp.newcompatibletransport(), new androidjsonfactory(), null)                         .setrooturl("https://leafy-display-112017.appspot.com/_ah/api/");                 // end options devappserver                  myapiservice = builder.build();             }              context = params[0].first;             string name = params[0].second;              try {                 return myapiservice.sayhi(name).execute().getdata();             } catch (ioexception e) {                 return e.getmessage();             }         }          @override         protected void onpostexecute(string result) {              toast.maketext(context, result, toast.length_long).show();             textview.settext(result);         }     } 

call asynctask activity or fragment

new endpointsasynctask(context,yourtextview).execute(yourparams); 

Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

css - Make div keyboard-scrollable in jQuery Mobile? -

ruby on rails - Seeing duplicate requests handled with Unicorn -