2017-03-09 4 views
1

I持ってすべてのアプリケーションを一覧表示し、私はレイアウトXMLで、彼らが強調されたフォーカス可能ImageButtonsを置く場合、こののImageButtonが集中したがクリックできない

private void addClickListener(){ 
     list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override`` 
      public void onItemClick(AdapterView<?> av, View v, int pos, long id) { 
       Intent i = manager.getLaunchIntentForPackage(apps.get(pos).name.toString()); 
       AllApps.this.startActivity`(i); 
      } 
     }); 

することによって、それらを起動しますが、クリックできません]ダイアログポップアップ

<ImageView 
    android:id="@+id/item_app_icon" 
    android:layout_width="250dp" 
    android:layout_height="100dp" 
    android:layout_alignParentLeft="true" 
    android:gravity="right" 
    android:background="@drawable/border_image" 
    android:focusable="true"/> 

また、android:clickable="true"も追加しようとしましたが、結果はありません。

マイセレクトXML(border_image)

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 

    android:state_focused="false"> 
    <shape 
     android:innerRadiusRatio="1" 
     android:shape="rectangle" > 
     <solid android:color="@android:color/white" /> 
     <corners 
      android:bottomLeftRadius="5dp" 
      android:bottomRightRadius="5dp" 
      android:radius="5dp" 
      android:topLeftRadius="5dp" 
      android:topRightRadius="5dp"></corners> 
     <padding 
      android:bottom="10dp" 
      android:left="10dp" 
      android:right="10dp" 
      android:top="10dp" /> 

    </shape></item> 

<!-- button focused --> 
<item 
    android:state_focused="true"> 
    <shape 
     android:innerRadiusRatio="1" 
     android:shape="rectangle" > 
     <solid android:color="@android:color/holo_orange_dark" /> 
     <corners 
      android:bottomLeftRadius="5dp" 
      android:bottomRightRadius="5dp" 
      android:radius="5dp" 
      android:topLeftRadius="5dp" 
      android:topRightRadius="5dp"></corners> 
     <padding 
      android:bottom="10dp" 
      android:left="10dp" 
      android:right="10dp" 
      android:top="10dp" /> 

    </shape></item> 

ポップアップダイアログでimageButtonsとテキストのためのXML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<ImageView 
    android:id="@+id/item_app_icon" 
    android:layout_width="250dp" 
    android:layout_height="100dp" 
    android:layout_alignParentLeft="true" 
    android:gravity="right" 
    android:background="@drawable/border_image" 
    android:focusable="true"/> 
<TextView 
    android:id="@+id/item_app_label" 
    android:layout_width="150dp" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/item_app_icon" 
    android:paddingTop="10dp" 
    android:background="#26F0F8FF" 
    android:textColor="@android:color/black" 
    android:textSize="15dp" 
    android:gravity="center"/> 

これは、ダイアログのポップアップコード

0123です
+0

あなたのアクティビティコードを共有しています。 –

+0

完全なxmlコードを – Reena

答えて

0

はアンドロイドを追加します。descendantFocusabilityは=「blocksDescendants」あなたのルートビューに

+0

と共有します。フォーカスをブロックするので、imageButtonsは強調表示されません.... imageButtonsがフォーカス可能(背景を変更)し、インテントを起動するためにクリック可能にします。 –

1

を使用すると、描画可能で、ファイルを作成し、XMLする必要があり、その後、セレクタや他の画像

<selector 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    > 
    <item 
     android:state_pressed="true" 

     android:drawable="@drawable/search_sel" /> 
    <item 
     android:drawable="@drawable/search" /> 
</selector> 
+0

私は既に焦点を当てた状態のセレクタを持つborder_imageというxmlファイル。私は私の質問にそれを加えました。あなたは私のコードを見てみると、私はすでにアンドロイドとしてそれを使用する背景= –

+0

は、あなたのボタンでシンプルなこの アンドロイドのように、この描画可能を使用するImageViewの –

+0

「描画可能/ border_image @」:: –

0

のためにそこに次のコードを貼り付け私は気づきましたあなたの質問ImageButtonsを参照して、ImageViewを使用している。 <ImageView><ImageButton>に変更してみてください。

+0

の背景には、私はIMAGEBUTTONするためにそれを変更しました、私は同じことを得る。グリッド内の画像ボタンがクリックされると、フォーカスされているだけで、意図を開始しません。 –

+0

'list'の残りのコードを投稿できますか?私はあなたがlistViewを使用していると思いますか? – Vinnie

+0

'Intent i = manager ...'という行にデバッガを置き、この行が実行されているかどうかを確認します。そうでない場合は、リスナーの設定方法に問題があります。 – Vinnie

関連する問題