import java.io.inputStreamReader;import java.io.Reader;import java.net.URL;import java.net.URLEncoder;import com.Google.gson.Gson;import androID.app.Activity;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.Widget.EditText;import androID.Widget.Imagebutton;import androID.Widget.TextVIEw; public class SampleActivity extends Activity { @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); Imagebutton button = (Imagebutton) findVIEwByID(R.ID.imagebutton1); button.setonClickListener(new VIEw.OnClickListener() { public voID onClick(VIEw v) { try { doSomething(); } catch (Exception e) { // Todo auto-generated catch block e.printstacktrace(); } } }); } public voID doSomething() throws Exception { EditText search2 = (EditText)findVIEwByID(R.ID.editText1); TextVIEw urltext = (TextVIEw)findVIEwByID(R.ID.textVIEw1); String Google = "http://AJAX.GoogleAPIs.com/AJAX/services/search/web?v=1.0&q="; String search = search2.toString() + "site:mysite.com"; String charset = "UTF-8"; URL url = new URL(Google + URLEncoder.encode(search, charset)); Reader reader = new inputStreamReader(url.openStream(), charset); GoogleResults results = new Gson().fromJson(reader, GoogleResults.class); String voIDurlresult = results.getResponseData().getResults().get(0).getUrl().toString(); urltext.setText(voIDurlresult); }}
请看一下上面的代码…..代码有什么问题.当我点击按钮时我什么都没得到.当我点击按钮我想得到第一个谷歌结果的网址…如果有人可以帮助我,我会很感激
解决方法:
button.setonClickListener(new VIEw.OnClickListener() { public voID onClick(VIEw v) { try { SampleActivity.this.doSomething(); } catch (Exception e) { // Todo auto-generated catch block e.printstacktrace(); } } });
将try语句中包含的语句更改为this.这将确保引用正确的类来调用该方法.
总结以上是内存溢出为你收集整理的android – 如何从OnClickListener.onClick方法调用方法?全部内容,希望文章能够帮你解决android – 如何从OnClickListener.onClick方法调用方法?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)