A. android怎么实现后台对按键事件的监控
遥控器按键事件这个不是在Android源码的bootable下面ircon.c配置的么。比如:
{ .scancode = 0x0b, .mask = 0xaa0087ee,
.keycode = KEY_UP, .spec = IRCON_KEYCODE_NORMAL | IRCON_KEYCODE_LONGPRESS | IRCON_KEYCODE_MOUSEMD },
遥控器按键编号是“ 0x0b”,给他的响应是“KEY_UP”,就是方向键的下,这个是在源码里边配置的。你必须要有遥控器的书名数,知道遥控器每个按键的编号,然后对应给他相应的响应才可以。
但是你要操控手机,你的手机必须要能接受遥控器信号,这个也是要硬件支持的,一般的手机貌似都没有这个。
这个遥控的响应操作是驱动层做的,和应用层没什么关系,主要是驱动和硬件的支持。
B. 安卓开发怎么在按钮中加事件
1、获取该按钮
java">Buttonbtn=(Button)findViewById(R.id.xxxx);//根据按钮的id获取该按钮组件
2、定义listener事件
btn.setOnClickListener(newOnClickListener(){//设置按钮单击事件
publicvoidonClick(Viewv){
//按钮单击事件
}
});
C. Android Studio初学者关于按钮添加事件问题
安卓中实现Button监听有以下几种方式:
public class HelloActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnMethod01;
Button btnMethod02;
Button btnMethod03;
btnMethod01 = (Button)findViewById(R.id.button1);
btnMethod02 = (Button)findViewById(R.id.button2);
btnMethod03 = (Button)findViewById(R.id.button3);
//第一种方法:匿名类
btnMethod01.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
Toast.makeText(HelloActivity.this,R.string.method01
,Toast.LENGTH_SHORT).show();
}
});
//添加监听事件
btnMethod02.setOnClickListener(new button1OnClickListener());
}
//第二种方法:内部类实现 有两部 1.写内部类 2.添加监听事件
private class button1OnClickListener implements OnClickListener{
public void onClick(View v){
Toast.makeText(HelloActivity.this,R.string.method02,
Toast.LENGTH_SHORT).show();
}
}
//第三种方法:用xml方法配置,该名称要与 main.xml 中button03的
//android:onClick="OnClickButton03"的名字一样
public void OnClickButton03(View v){
Toast.makeText(HelloActivity.this,R.string.method03
,Toast.LENGTH_SHORT).show();
}
}
//其中Button3的xml应该这样写
<Button
android:onClick="OnClickButton03"
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/method03"/>
你应该是监听那里没有写对,不关写在OnCreate里或者外的问题。
D. 如何绑定android点击事件
在Android中为组件绑定点击事件的方式可以分为四种,
1、 在xml布局文件中,定义onclick的方式
<!—第一步在XML文件中给对应组件添加Onclick属性-->
<Button
android:id="@+id/submitbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:onClick="buttonClickHandle"
android:layout_alignParentTop="true"
android:text="提交" />
//第二步在对应的Activity中创建一个与onClick属性值相同的方法,并传入一个View参数,当Button被点击时就会回调这个方法。
public void buttonClickHandle(View view) {
Snackbar.make(coordinatorLayout, "你点击了Button", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
另外三种绑定点击事件的方式实际上就是通过组件调用setOnClickListener()的方法,下面我们就来看一下这个方法的源码。
/**
* Register a callback to be invoked when this view is clicked. If this view is not
* clickable, it becomes clickable.
*
* @param l The callback that will run
*
* @see #setClickable(boolean)
*/
public void setOnClickListener(@Nullable OnClickListener l) {
if (!isClickable()) {
setClickable(true);
}
getListenerInfo().mOnClickListener = l;
}
根据源码我们可以看到这个方法中需要一个OnClickListener的对象。下面我们就来看看这个OnClickListener对象是个什么东东。
/**
* Interface definition for a callback to be invoked when a view is clicked.
*/
public interface OnClickListener {
/**
* Called when a view has been clicked.
*
* @param v The view that was clicked.
*/
void onClick(View v);
}
根据源码我们可以看到实际上这个OnClickListener就是一个接口,这个接口中有一个onClick的抽象方法。所以我们在创建这个OnClickListener对象是还需要实现这个抽象方法。这个onClick的抽象方法实际上就是当我们点击按钮后会回调的方法。我们对于点击事件的响应处理就在这个方法中进行。
现在我们已经了解了设置点击事件的setOnClickListener方法,根据我们如何创建这个方法中的OnClickListener对象,我们设置点击事件的方式可以分为如下三种:
1、内部类的形式
a. package com.example.hsport.catalog;
import android.os.Bundle;
import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private CoordinatorLayout coordinatorLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator);
// 获取button对象
Button button = (Button) findViewById(R.id.submitbutton);
//创建内部类的实例
MyListener myListener = new MyListener();
//设置button的点击事件,将实现OnClickListener接口的内部类实例传入到setOnClickListener方法中
button.setOnClickListener(myListener);
}
//创建一个内部类实现View.OnClickListener接口,并实现其onClick方法
private class MyListener implements View.OnClickListener {
@Override
public void onClick(View v) {
Snackbar.make(coordinatorLayout, "你点击了Button", Snackbar.LENGTH_LONG).setAction("Action", null).show();
}
}
}
2、 匿名内部类的方式
package com.example.hsport.catalog;
import android.os.Bundle;
import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private CoordinatorLayout coordinatorLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator);
//获取Button对象
Button button = (Button) findViewById(R.id.submitbutton);
//以创建一个View.OnClickListener的匿名内部类,并实现它的onClick方法
button.setOnClickListener(new View.OnClickListener() {
//在onClick方法中我们就可以设置button的响应代码了
@Override
public void onClick(View v) {
Snackbar.make(coordinatorLayout, "你点击了Button",Snackbar.LENGTH_LONG).setAction("Action", null).show();
}
});
}
3、 让主类实现OnClickListener接口,然后再主类实现未实现的方法
package com.example.hsport.catalog;
import android.os.Bundle;
import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private CoordinatorLayout coordinatorLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator);
//获取Button对象
Button button = (Button) findViewById(R.id.submitbutton);
//因为我们让MainActivity实现了View.OnClickListener这个接口,所以setOnClickListener方法中的参数直接传入this即可。
button.setOnClickListener(this);
}
//因为MainActivity实现了View.OnClickListener接口,所以在MainActivity中还有要实现该接口中改的onClick方法来处理点击事件。
@Override
public void onClick(View v) {
Snackbar.make(coordinatorLayout, "你点击了Button",Snackbar.LENGTH_LONG).setAction("Action", null).show();
}
}
关于如何给组件绑定点击事件,是Android中的基础知识,如果你还想更加详细的了解,推荐你可以去一个叫做秒秒学的教程网站看看,夯实下基础。
E. android一个按钮事件做两个任务怎么实现
就在点击事件里面写呗,耗时的就另开线程跑,即时的直接顺序写进去就行了,咋问的这个问题啊。。。。比如你想做两件事,一件是 让 a=1,另一件事让 b = 2,把两个赋值语句都写在按钮事件里,不就是两件事吗?其实也就是一件事,让a =1 ,b=2, 大事,小事的问题。。纠结啥
F. android 中怎样给按钮添加点击事件
xml文件代码如下:
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button2" />
四种方法分述如下:
匿名内部类:
public class TestButtonActivity extends Activity {
Button btn1, btn2;
Toast tst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast tst = Toast.makeText(TestButtonActivity.this, "111111111", Toast.LENGTH_SHORT);
tst.show();
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast tst = Toast.makeText(TestButtonActivity.this, "222222222", Toast.LENGTH_SHORT);
tst.show();
}
});
}
}
自定义单击事件监听类:
public class TestButtonActivity extends Activity {
Button btn1, btn2;
Toast tst;
class MyClickListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
tst = Toast.makeText(TestButtonActivity.this, "111111111", Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst = Toast.makeText(TestButtonActivity.this, "222222222", Toast.LENGTH_SHORT);
tst.show();
break;
default:
break;
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(new MyClickListener());
btn2.setOnClickListener(new MyClickListener());
}
}
Activity继承View.OnClickListener,由Activity实现OnClick(View view)方法,在OnClick(View view)方法中用switch-case对不同id代表的button进行相应的处理
public class TestButtonActivity extends Activity implements OnClickListener {
Button btn1, btn2;
Toast tst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
tst = Toast.makeText(this, "111111111", Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst = Toast.makeText(this, "222222222", Toast.LENGTH_SHORT);
tst.show();
break;
default:
break;
}
}
}
最后一种是我今天看到的一种写法,在XML文件中“显示指定按钮的onClick属性,这样点击按钮时会利用反射的方式调用对应Activity中的click()方法”
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Button1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Button2" />
这里在输完android:的时候按下 Alt+/ 会有 onClick 属性的提示, 但输入到 android:onClick=“ 的地方按下 Alt+/ 并没有提示 onClick 选项,让我突然觉得这里好像有点问题。
public class TestButtonActivity extends Activity {
Button btn1, btn2;
Toast tst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
}
// 注意 这里没有 @Override 标签
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
tst = Toast.makeText(this, "111111111", Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst = Toast.makeText(this, "222222222", Toast.LENGTH_SHORT);
tst.show();
break;
default:
break;
}
}
}
这种写法整个代码中都不用声明button就可以实现button的单击事件。
以上就是四种实现按钮单击事件的方法。
粗略总结一下,就是按钮少的时候用匿名内部类会比较快,比如写demo测试的时候或者登陆界面之类的。
按钮多的情况我还是选择第三种方法,方便。
关于第四种方法,我感觉最方便,但看了很多代码还是觉得写法不够大众化,感兴趣的朋友可以对此研究研究。相信会有不少收获。
G. Android中Eclipse怎样创建按钮Button点击事件
Android中设置Button点击监听方法如下:
方法一、
ButtonBtn1=(Button)findViewById(R.id.button1);
Btn1.setOnClickListener(newButton.OnClickListener(){
publicvoidonClick(Viewv){
//点击了Btn1
}
});
方法二、
ButtonBtn2=(Button)findViewById(R.id.button2);
Btn2.setOnClickListener(listener);
Button.OnClickListenerlistener=newButton.OnClickListener(){//创建监听对象
publicvoidonClick(Viewv){
//点击了Btn2
}
};
方法三、
publicvoidBtn3OnClick(Viewview){
//点击了Btn23
}
//需要在layout布局对应Button中添加android:onClick="Btn3OnClick",Btn3OnClick可自行命名
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button3"
android:onClick="Btn3OnClick"/>
H. android中如何设置处理点击按钮事件
button.setOnClickListener(new
OnClickListener()
{
@Override
public
void
onClick(View
view)
{
button.setVisibility(View.GONE);//设置button隐藏不可见
}
});
if(bmp==null){
View.setVisible(View.GONE);
}else{
View.setVisible(View.VISIBLE);
}
希望能帮到你
如果还不会,你可以hi我
随时在线的哟
亲!
I. android 怎么样让按钮自动执行点击事件
启动activity 可以使用InstrumentationTestCase
发送手机事件
Instrumentation.sendCharacterSync(KeyEvent.KEYCODE_DPAD_DOWN);
Instrumentation.sendCharacterSync(KeyEvent.KEYCODE_DPAD_CENTER);
使用android的测试功能,写一个类继承InstrumentationTestCase
然后在这个类里获得Instrumentation实例,通过它可以启动Activity,发送手机事件等
------------------------------------------------------
import android.app.Instrumentation;
import android.content.ContentResolver;
public class ActivityTest extends InstrumentationTestCase {
private Instrumentation mInst = null;
private ContentResolver mContentResolver = null;
@Override
protected void setUp() throws Exception {
super.setUp();
mInst = getInstrumentation();
mContentResolver = mInst.getContext().getContentResolver();
}
public void testStartActivity() throws Exception {
//launch activity
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
String activityPackagePath = "com.android.";
intent.setClassName(activityPackagePath, TargetActivity.getClass().getName());
TargetActivity mActivity = (TargetActivity) getInstrumentation().startActivitySync(intent);
mInst.waitForIdleSync();
//send keyevent to press button
mInst.sendCharacterSync(KeyEvent.KEYCODE_DPAD_DOWN);
mInst.sendCharacterSync(KeyEvent.KEYCODE_DPAD_CENTER);
mInst.waitForIdleSync();
}
}
J. android中怎样给两个按钮添加事件
1. 在res/layout中的activity_main.xml添加一个按钮,命名为button1。
2. 在MainActivity.java中添加按钮事件绑定:
View btn1 = this.findViewById(R.id.button1);
btn1.setOnClickListener(new ButtonClickListener());
3. 重写ButtonClickListener函数:
private class ButtonClickListener implements View.OnClickListener{
public void onClick(View v) {
if(R.id.button1 == v.getId())
{
MediaPlayer mediaPlayer01;
mediaPlayer01 = MediaPlayer.create(getBaseContext(), R.raw.ring);
mediaPlayer01.start();
}
}
}