2015-10-05 170 views
1

我將ListView連接到Detail活動,以便用戶可以單擊列表項目,轉到更詳細的視圖,然後返回。一切工作正常,除了有時我不能再點擊列表項目。如果我點擊一個隱藏所有其他元素的按鈕(setVisibility(View.GONE)),模擬器將無法識別列表視圖上的點擊。在列表視圖再次處理交互之前,我必須點擊其他元素。在堆棧中,如果該行是在底部,列表視圖是不可點擊:Android,ListView項目變得不可點擊

E/Surface: getSlotFromBufferLocked: unknown buffer: 0xa2383490 

我以前見過它,但我並沒有很重視,直到如今。有人可以解釋這是什麼意思,它可能是我的問題的跡象,或者如果它可以忽略不計。

以供參考,這是知名度更換導致問題:

//  Onclick method for Notes Collapse button 
    final Button buttonN = (Button) rootView.findViewById(R.id.notesSectionHeading); 
    buttonN.setTag(0); 
    final LinearLayout inputButtons = (LinearLayout) rootView.findViewById(R.id.input_control_block); 
    final LinearLayout inputBlock = (LinearLayout) rootView.findViewById(R.id.edit_text_block); 
    buttonN.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) { 

      final int status = (Integer) v.getTag(); 
      if (status == 1) { 
       v.setTag(0); //pause 
       inputBlock.setVisibility(View.VISIBLE); 
       inputButtons.setVisibility(View.VISIBLE); 
      } else { 
       v.setTag(1); //pause 
       inputBlock.setVisibility(View.GONE); 
       inputButtons.setVisibility(View.GONE); 
      } 

      Toast.makeText(getActivity().getBaseContext(), "View visibility changed", Toast.LENGTH_SHORT).show(); 
            } 
     } 

    ); 

回答

0

嘗試塞汀你的按鈕(或要處理單擊列表項中的任何其它視圖)是這樣的:

android:focusable="false" 
android:focusableInTouchMode="false" 

它應該工作

+0

不幸的是,我也試過給出另一個元素的焦點,但不管你點擊了多少次,它將不會註冊,直到其他元素被觸摸。如果你只是滾動列表,它會起作用,但除非你這樣做。 –