2010-11-30 12 views
6

私はこのカスタマイズされたリストを持っています。各行にはイメージと2行のテキストが含まれています。リスト項目がクリックされたときに新しいアクティビティを開きたいsetOnItemClickListener()を実装しても、私はそうすることができません。私が間違っている場合は私を修正してください。以下はリストのコードです。 PS:これは通常のアクティビティであり、リストのアクティビティではありません。アンドロイドリストビューclickable problem

l1.setAdapter(new EfficientAdapter(this,eventTitleArray,eventDateArray,eventImageLinkArray)); 
    //l1 = getListView(); 
    l1.setClickable(true); 
    l1.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, 
     int position, long arg3) { 
    Intent intent = new Intent(MainActivity.this, DisplayActivity.class); 
    Bundle b = new Bundle(); 
    b.putString("event", eventTitleArray[position]); 
    intent.putExtras(bundle); 
    startActivity(intent); 

    Toast.makeText(getApplicationContext(), "Opening detailed view for:"+eventTitleArray[position], Toast.LENGTH_SHORT).show(); 


    } 
    }); 

答えて

13

に記載されている行のレイアウトは、フォーカス可能な任意のアイテムを持っているかどうかを見てください。 ListView Itemにフォーカス可能な子が含まれている場合、Listview Handlerは起動されません。

+0

私はこれをやってみました、holder.firstLine.setFocusable(false); \t \t \t \t holder.secondLine.setFocusable(false); \t \t \t \t holder.imageView.setFocusable(false);それでも動作しません。 firstLine、secondLine、およびimageViewは各行レイアウトに存在します。 –

2

私はあなたのアイテムのビューでフォーカス可能なビューがあるとき発射からonItemClickListenersを防ぎSDKのバグがあると思います。

したがって、アイテムのすべてのビューでsetFocusable(false)を実行するようにしてください。

問題がhere