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
Post a Comment