我这个基于回调的事件处理函数怎么没反应呢

谁学逆向工程 2016-09-23 12:25:10
Android studio 的 Android Monitor 窗口没有输出。另外 Log 类的 e函数、d函数、i函数、v函数有什么区别
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical">

<com.example.administrator.third.MyButton
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="单击我"/>
</LinearLayout>

package com.example.administrator.third;

import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.os.Handler;
import android.os.Message;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.KeyEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.MultiAutoCompleteTextView;
import android.widget.ProgressBar;
import android.widget.RadioGroup;
import android.widget.SimpleAdapter;
import android.widget.ToggleButton;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;

public class MainActivity extends Activity
{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

class MyButton extends Button
{
public MyButton(Context context, AttributeSet set)
{
super(context, set);
}
public boolean onKeyDown(int keyCode, KeyEvent event)
{
super.onKeyDown(keyCode, event);
Log.e("eeee", "the onKeyDown in MyButton eeeeeeeeee");
Log.i("eeee", "the onKeyDown in MyButton iiiiiiiiii");
Log.v("eeee", "the onKeyDown in MyButton vvvvvvvvvv");
return true;
}
}
...全文
219 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
谁学逆向工程 2016-09-23
  • 打赏
  • 举报
回复
引用 7 楼 weekendboyxw 的回复:
这样就可以了
用监听器的方法我用过,现在想试试回调方法
别介意 2016-09-23
  • 打赏
  • 举报
回复
第一步 <com.example.administrator.third.MyButton android:id="@+id/but" android:layout_width="match_parent" android:layout_height="match_parent" android:text="单击我"/> 第二步 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); MyButton but= (MyButton) this.findViewById(R.id.but); but.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub } }); } 这样就可以了
谁学逆向工程 2016-09-23
  • 打赏
  • 举报
回复
引用 5 楼 ljs3704021918 的回复:
你给myButton加个点击事件,应该就会用onKeyDown里的输出了。onTouchEvent函数,是你触摸就会调用,当然会输出了。
在XML中加onClick? 书上不是这么用的
TyroLJS 2016-09-23
  • 打赏
  • 举报
回复
你给myButton加个点击事件,应该就会用onKeyDown里的输出了。onTouchEvent函数,是你触摸就会调用,当然会输出了。
谁学逆向工程 2016-09-23
  • 打赏
  • 举报
回复
引用 3 楼 qq_25412055 的回复:
]你的mybutton有被调用吗?
有调用,我在手机上按了按钮的。下面我加了一个 onTouchEvent 函数,这个有反应。
class MyButton extends Button
{
    public MyButton(Context context, AttributeSet set)
    {
        super(context, set);
    }
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        super.onKeyDown(keyCode, event);
        Log.e("eeee", "the onKeyDown in MyButton   eeeeeeeeee");
        Log.i("eeee", "the onKeyDown in MyButton   iiiiiiiiii");
        Log.v("eeee", "the onKeyDown in MyButton   vvvvvvvvvv");
        return true;
    }
    public boolean onTouchEvent(MotionEvent event)
    {
        Log.v("onTouchEvent", "555555555555555555");
        return false;
    }
}
LoveWyf_ 2016-09-23
  • 打赏
  • 举报
回复
引用 2楼我是你的主体 的回复:
[quote=引用 1 楼 qq_25412055 的回复:] 你这个MyButton有被调用吗?,而且并没看到哪里回调了
应该补点什么代码呢[/quote]你的mybutton有被调用吗?
谁学逆向工程 2016-09-23
  • 打赏
  • 举报
回复
引用 1 楼 qq_25412055 的回复:
你这个MyButton有被调用吗?,而且并没看到哪里回调了
应该补点什么代码呢
LoveWyf_ 2016-09-23
  • 打赏
  • 举报
回复
Log 类的 e函数、d函数、i函数、v函数对应着不同的消息类型

你这个MyButton有被调用吗?,而且并没看到哪里回调了

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧