2016-06-16 2 views
0

ListViewに問題があります。 基本的に、私はこの隠れたListViewをTextViewのクリックに表示させます。 これは問題ありません。 ListViewのItemをクリックすると、別のレイアウト(TextView & FloatingButtonを含む)を表示したいと思います。 問題は、LinearLayoutを表示すると、ListItemをもうクリックできなくなることです。助言がありますか?ListViewアイテムは、兄弟としてLinearLayoutを表示するとクリックできません。

ここにいくつかのコードです: Layout.xml

<ListView 
      android:id="@+id/meal_insertion_meals_portions_list" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/meal_insertion_location" 
      android:layout_above="@id/meal_insertion_add_container"/> 

     <LinearLayout 
      android:id="@id/meal_insertion_add_container" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_centerHorizontal="true" 
      android:gravity="center_horizontal" 
      android:orientation="vertical" 
      android:padding="8dp"> 

      <android.support.design.widget.FloatingActionButton 
       android:id="@+id/meal_insertion_add_meal_button" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:clickable="true" 
       android:focusable="false" 
       android:focusableInTouchMode="false" 
       android:src="@drawable/ic_add" 
       android:tint="@android:color/white" 
       app:backgroundTint="@color/colorPrimary"/> 

      <TextView 
       android:id="@+id/meal_insertion_add_meal_text" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="4dp" 
       android:gravity="center_vertical|center_horizontal" 
       android:text="@string/diary.meal.insertion.aliment.add" 
       android:textColor="@color/colorPrimary"/> 


     </LinearLayout> 

Fragment.java

mealSelector.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (selectorList.getVisibility() == View.VISIBLE) { 
        selectorList.setVisibility(View.GONE); 
        mealLocation.setVisibility(View.VISIBLE); 
       } else { 
        selectorList.setVisibility(View.VISIBLE); 
        mealLocation.setVisibility(View.GONE); 
       } 
      } 
     }); 

     selectorList.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       TextView t1 = (TextView) view.findViewById(android.R.id.text1); 
       mealSelector.setText(t1.getText()); 
       selectorList.setVisibility(View.GONE); 
       mealLocation.setVisibility(View.VISIBLE); 
       addLayoutContainer.setVisibility(View.VISIBLE); 
      } 


     } 

    ); 
+1

"問題は、LinearLayoutを表示すると、ListItemをもうクリックできなくなることです。" - アイテムをクリックして 'LinearLayout'を表示したときに' ListView'を隠していませんか? 'selectorList.setVisibility(View.GONE);'それはあなたが話していることですか? –

+0

もう一度TextViewをクリックすると、もう一度listViewが表示され、他の項目を選択したいことがあります。問題は、addLayoutContainerが表示されているときにItemsをクリックできなくなったことです。 –

+0

ああ、OK。どういうわけか、あなたの 'ListView'を覆っていないものがあり、クリックをブロックしていますか? –

答えて

0

これは正しい解決策されていません - ジャスト回避策:

は、私はちょうどを隠す私がListViewを表示すると、再びになります。 これでアイテムをもう一度クリックできます。

AGAIN:さらに良い解決策を探しています。

0

ソリューション下記てみてください、 チェンジリストビュー、アンドロイド:アンドロイドへ= "wrap_content" layout_height:layout_height = "match_parent"、加えてアンドロイドを削除してみてください:クリッカブル= "true" を アンドロイド:フォーカス可能= "false" に android:focusableInTouchMode = "false"フローティングボタンから。

+0

いいえ、それは動作しませんでした:( –

関連する問題