- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我一直在摆弄 Snake示例代码,我正在尝试修改它以进行培训,并希望增加对 Android 工作原理的理解。
到目前为止,我已经添加了两个按钮 + 相应的 setOnClickListener 代码,如下所示。
snake_layout.xml:
<Button
android:layout_height="39px"
android:layout_width="55px"
android:layout_marginLeft="15px"
android:text="Left"
android:id="@+id/left_button" />
<Button
android:layout_height="39px"
android:layout_width="55px"
android:layout_marginLeft="240px"
android:text="Right"
android:id="@+id/right_button" />
和Snake.java:
.
.
.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// No Title bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.snake_layout);
final Button leftButton = (Button) findViewById(R.id.left_button);
leftButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v)
{
//perform action
}
});
final Button rightButton = (Button) findViewById(R.id.right_button);
rightButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v)
{
//perform action
}
});
.
.
.
当我尝试一种简单的方法(例如“finish())”时,这两个按钮都会出现在它们应该出现的位置并起作用。
现在,我想做的是让这些按钮触发下面的代码,在 SnakeView.java 中:
if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
if (mDirection != EAST) {
mNextDirection = WEST;
}
return (true);
}
if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
if (mDirection != WEST) {
mNextDirection = EAST;
}
return (true);
}
明确地说,我需要让我的自定义屏幕按钮执行与当前代码中的“KEYCODE_DPAD_RIGHT”和“KEYCODE_DPAD_LEFT”相同的工作。我的 Xperia X10i 没有随附 DPAD,那是它的一部分;-P
我真的很感激一些正确方向的指示。正如您可能已经猜到的那样,我对此还很陌生..
先谢谢大家
最佳答案
在这里查看:
Throwing/Simulating KeyStrokes programatically
基本逻辑隐藏在背后:
private void doInjectKeyEvent(KeyEvent kEvent) {
try {
/* Inject the KeyEvent to the Window-Manager. */
windowManager.injectKeyEvent(kEvent.isDown(), kEvent.getKeyCode(),
kEvent.getRepeatCount(), kEvent.getDownTime(),
kEvent.getEventTime(), true);
} catch (DeadObjectException e) {
e.printStackTrace();
}
}
关于android - setOnClickListener;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6139891/
我读到了 avoiding memory leaks 为避免上下文相关的内存泄漏,请记住以下几点: 尝试使用 context-application 而不是 context-activity 我有两个
我想在按钮单击时显示图像,但我的代码中有三个错误。怎么了? class name "SequencerActivity" SequencerActivity 类型必须实现继承的抽象方法DialogIn
我一直在摆弄 Snake示例代码,我正在尝试修改它以进行培训,并希望增加对 Android 工作原理的理解。 到目前为止,我已经添加了两个按钮 + 相应的 setOnClickListener 代码,
我是 android 的新手,我想知道如果我不在我的布局之一中使用“setOnClickListener”到底会发生什么,因为看起来我的应用程序仍然可以正常运行而没有任何错误。谁能给我解释一下? 例子
我花了一整天的时间试图弄清楚如何使这项工作成功。我成功设置了自定义适配器和我的 ListView。问题是我得到了单击的项目的正确位置,但该项目始终是列表中的最后一个。 更重要的是,我在另一个线程中调用
我的代码有时会出现空指针异常。奇怪的是,这种情况并不是每次都会发生,我也不知道为什么。帮忙? package net.obviam.droidz; public class HomeView exte
我想在按钮 A 中进行处理时禁用按钮 B。 public class GoJump extends Activity{ Button answerA, answerB; public void
因此,每当我尝试使用 set onclicklistener 并尝试在模拟器上运行它时,它都会显示一条错误消息,指出应用程序已停止。当我取出那部分代码时,它开始工作。 这是我的代码:(Mainacti
我正在 ActivityMain.java 中创建按钮编译器无法识别 onSetClickListener。我错过了什么? package com.example.mydiceapp; import
好吧,如果您没有看到我之前的问题,我问如何使用 2 个命令按钮将文本从 edittext 导入到 textview 中?这是我所做的: 我不断收到此错误 "Syntax error on token
我正在使用GitHub我的应用程序 UI 的 FlatUI 类。我已经使用 FlatButtons 成功生成了布局,现在我想为这些按钮设置监听器。正如 FlatUI 示例代码中提到的,我在 Activ
我正在尝试在 Android 应用程序中为 recycleview 设置 onlclick 监听器,但尽管一切都正确,但我仍然在 IDE 中收到上述错误。 这是 DrinksActivity 类的完整
我想从此 fragment 访问来自不属于该 fragment 的另一个布局的 View 。这就是我得到 NullPointerException 的原因。 我该如何解决这个问题? fragment
您好,我收到错误消息: the method setonclickListener(new onclickListener(){}) is undefined for the type button
我在 listView 中按下一个列表项。如何从 ListView 项目转到我的另一个 Activity ?请帮助我了解如何解决这个问题。 这是我的代码,如果: package com.example
这是我的java代码...... public class Account extends Activity { private Database v1; EditText telefon,sifre
我是 android 开发的新手,我意识到在真实世界的示例中使用所有界面比在试图向您展示如何使用界面的示例代码中使用它们要困难得多。 因为我想理解我输入的每一行,所以我将从这里开始: Button c
我正在使用 tabbedActivity 制作一个用于研究的应用程序加上按钮没有采取行动,有人知道解释原因,我已经尝试了几种形式但都没有行动,不会给出错误并破坏应用程序但按钮什么都没有 @Overri
我使用的表布局包含来自 SQLite 数据库的行,因此我添加行时动态添加 View 到行。现在,我在每一行中添加了 imageButton 来处理行版本和将其添加到 SQLite 数据库的其他行。我想
首先,请不要将其标记为重复。我在 stackoverflow.com 上发现了类似的问题,但找不到我的解决方案。请看这张图片 Screenshot 我正在尝试检查 EditText 不应为空。但是 s
我是一名优秀的程序员,十分优秀!