1

文字通り1時間半の検索の後、実際にstackoverflowで実行されたリストビューの例を見つけました。少なくとも私にとっては、Googleチュートリアルではそのような運はありません。そこで人々が言及していることのほとんどは、コンパイルされないものに長い間置き換えられているようです。とにかく、私はそれを機能させました。次に、Bluetoothクリッカーが機能するようにコードを追加しました。喜びはありません。

タブレットに触れずに操作する必要があります。それはガラスの後ろにあり、ESCコードをボタンまたはリストに進め、別のボタンで強調表示されたものを実行したいと思います。私のアプリケーションへのシンプルな2ボタンインターフェース。アプリケーションは機能していますが、ユーザーが不確定な場所のリスト(ユーザー提供)から選択する必要がある機能を追加したいと思います。だから、リストは良い考えだったように見えた。リストは機能しますが、Bluetoothインターセプターコードを挿入すると、手動でもスクロールしません。リストが私の問題の正しい解決策であるかどうかを3時間試した後、私は助けを求めています。

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