java - Android SDK (Kindle Fire) - Button onClick() not firing -
i'm new both java , android sdk, apologize if question silly. i'm writing app should display simple button, , send message local server when clicked. however, when tap button, nothing happens. here's code:
.java
package com.example.hellokindlefire; import java.io.ioexception; import java.io.printwriter; import java.net.socket; import android.app.activity; import android.os.bundle; import android.view.menu; import android.view.menuitem; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; public class hellokindlefireactivity extends activity implements onclicklistener { private socket socket; private printwriter pw; private button button; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_hello_kindle_fire); button = (button)findviewbyid(r.id.send_button); button.setonclicklistener(this); } public void onclick(view v) { sendsignal(v); } public void sendsignal(view v) { system.out.println("sending..."); try { socket = new socket("192.168.1.100", 63400); pw = new printwriter(socket.getoutputstream(), true); pw.println("hello!"); } catch(ioexception e) { system.out.println(e); } } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.hello_kindle_fire, menu); return true; } @override public boolean onoptionsitemselected(menuitem item) { // handle action bar item clicks here. action bar // automatically handle clicks on home/up button, long // specify parent activity in androidmanifest.xml. int id = item.getitemid(); if (id == r.id.action_settings) { return true; } return super.onoptionsitemselected(item); } } .xml
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="com.example.hellokindlefire.hellokindlefireactivity" > <button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/signal" android:id="@+id/send_button" /> </relativelayout> i've looked through button documentation , looked @ similar questions here, nothing seems work. i've made sure test code inside sendsignal in separate program , message received server no issues.
you need use @override method of on click , in between need find id of button.
public class hellokindlefireactivity extends activity implements onclicklistener { private socket socket; private printwriter pw; private button button; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); button = (button) findviewbyid(r.id.send_button); button.setonclicklistener(this); } public void sendsignal(view v) { system.out.println("sending..."); try { socket = new socket("192.168.1.100", 63400); pw = new printwriter(socket.getoutputstream(), true); pw.println("hello!"); } catch (ioexception e) { system.out.println(e); } } @override public boolean onoptionsitemselected(menuitem item) { // handle action bar item clicks here. action bar // automatically handle clicks on home/up button, long // specify parent activity in androidmanifest.xml. int id = item.getitemid(); if (id == r.id.action_settings) { return true; } return super.onoptionsitemselected(item); } @override public void onclick(view v) { // todo auto-generated method stub if (v.getid() == r.id.send_button) { sendsignal(v); } } }
Comments
Post a Comment