1

经过 1 1/2 小时的搜索,我找到了一个实际上在 stackoverflow 上运行的列表视图示例。至少对我来说,谷歌教程没有这样的运气,人们在上面提到的大部分内容显然早已被无法编译的内容所取代。无论如何,我得到了它的工作。然后我添加了我的代码以允许我的蓝牙答题器工作。没有喜悦。

我需要控制平板电脑而不触摸它。它将在玻璃后面,我想要一个 ESC 代码在我的按钮或列表中前进,另一个按钮来执行突出显示的内容。我的应用程序的一个简单的两个按钮界面。该应用程序正在运行,但我想添加一个功能,该功能要求用户从不确定的位置列表(用户提供)中进行选择。所以看起来列表是个好主意。该列表有效,但是当我将蓝牙拦截器代码放入时,它甚至不会手动滚动。经过三个小时试图找出一个列表是否是解决我的问题的正确方法后,我正在寻求帮助。

package com.example.listview2;
import android.app.Instrumentation;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.ArrayAdapter;

public class HelloListView extends ListActivity {
String[] listItems = {"item 1", "item 2 ", "list","item 1", "item 2 ", "list","item 1",         "item 2 ", "list", "android", "item 3", "foobar", "bar", }; 
@Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.temp);
     setListAdapter(new ArrayAdapter(this,  android.R.layout.simple_list_item_1, listItems));
 }

@Override
public boolean dispatchKeyEvent(KeyEvent ke){
    int keyCode = ke.getKeyCode();
    if(ke.getAction() == KeyEvent.ACTION_DOWN){
        switch (keyCode)
        {

            case 59:

                return true;
            case 19:
                new Thread(new Runnable() {         
                    @Override
                    public void run() {                 
                        new Instrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_TAB);
                    }   
                }).start();
                return true;
            case 20:
                new Thread(new Runnable() {         
                    @Override
                    public void run() {                 
                        new Instrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);
                    }   
                }).start();
                return true;
        }
    }
    else if(ke.getAction() == KeyEvent.ACTION_UP){
        switch (keyCode){
            case 59:
            case 19:
            case 20:
                return true;
        }
    }

    return super.dispatchKeyEvent(ke);
}   

}

XML 是:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ListView android:id="@+id/ListView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
4

0 回答 0