0

LG400fタッチフォンでは機能しないのに、エミュレーターでマウスをクリックすると正常に機能する理由を誰かに教えてもらえますか?

コード

ListView listView = (ListView) findViewById(R.id.listContactsList);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_contacts,  R.id.listContactsView, values);
listView.setAdapter(adapter);
listView.setClickable(true);
listView.setFocusable(true);
listView.setFocusableInTouchMode(true);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    Object selection = (Object) parent.getItemAtPosition(position);
    Toast.makeText(getApplicationContext(), selection.toString(), Toast.LENGTH_LONG).show();
    // Toast is triggered with mouse click in emulator but not touch in phone

XML

<ListView
    android:id="@+id/listContactsList"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    tools:context=".ListContacts" />
4

2 に答える 2

1

xmlのリストビューでtouchscreenBlocksFocus=trueを確認します

于 2018-04-20T04:45:09.447 に答える
0

この質問に答えてくれた人々に感謝します。

私はこの問題を直接正確に解決していませんが、機能するバリエーションをコーディングしました。

最初に、以前のクラスは次のように定義されました。ListContactsはActivityを拡張し、コードは元の質問で表示したとおりでした。

これで、クラスListContacts extends ListActivityを定義し、次のようにコードを変更しました(これは機能します)。

まず、onCreate()からsetContentView(R.layout.xxxx)を削除し、XMLファイルのテキストビューを削除します。

コード:

this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values));
ListView listView = getListView();
listView.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Object selection = (Object) parent.getItemAtPosition(position);
        Toast.makeText(getApplicationContext(), selection.toString(), Toast.LENGTH_LONG).show();
于 2012-11-19T06:48:32.173 に答える