2012-11-19 66 views
0

誰能告訴我爲什麼這在我的LG400f觸摸手機上不起作用,但在模擬器中單擊鼠標可以正常工作嗎?ListView onClick在模擬器中工作,但不在觸摸手機上

代碼

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" /> 
+0

嘗試改變線listView.setOnItemClickListener(新AdapterView.OnItemClickListener()爲 「listView.setOnItemClickListener(新OnItemClickListener(){}」 –

+0

所以在設備上,'selection' 'null'或'onItemClick'沒有運行? – Sam

+0

無法得到這個listView.setOnItemClickListener(new OnItemClickListener(){}去工作Jade – Mike

回答

0

謝謝誰回答這個問題的人。

我還沒有完全重新直接解決了這個問題,但編碼了一個有效的變體。

首先,我以前的課程是這樣定義的:ListContacts擴展活動和代碼是我在原始問題中顯示的。

我現在已經定義了我的課ListContacts擴展ListActivity和改變了代碼(工作)是這樣的:

首先刪除的setContentView(R.layout.xxxx)從的onCreate()和XML TextView的文件。

代碼:

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(); 
相關問題