2015-03-31 77 views
-1

不知道爲什麼onItemClick事件不工作...的Android的ListView onItemClick不工作

public class FragmentList extends Fragment { 
    View rootView; 
    ListView list; 


    public FragmentList(){} 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     rootView = inflater.inflate(R.layout.fragment_list, container, false); 
     list=(ListView)rootView.findViewById(R.id.list); 

     list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { 
       Log.i("test", String.valueOf(position)); 

       } 
      }); 
     return rootView; 
    } 
} 

任何人有這種想法。非常感謝

+1

您沒有爲該列表視圖設置適配器,因此不能註冊。 – 2015-03-31 03:02:39

+0

你的Listview尺寸= 0,寬度= 0,高度= 0,因爲沒有孩子。那麼你可以點擊這個地方?你首先需要setadapter – kemdo 2015-03-31 03:09:21

回答

2

如果列表中的任何行項包含可焦點或可點擊的視圖,那麼OnItemClickListener將不起作用。

行項目必須有一個像android:descendantFocusability="blocksDescendants"這樣的參數。

點擊here瞭解更多信息。

+0

我有一個片段內的listview。當點擊一個項目時,它會通過替換跳轉到一個細節片段。但是,當我從細節片段中單擊後退按鈕時,它會跳回到需要再次加載所有數據的listview片段。返回時是否可以保留所有的listview項目和狀態?謝謝。 – user3691709 2015-03-31 03:59:48

+0

@ user3691709,是的,在 – adsion 2015-03-31 05:41:32

+0

@ user3691709上,你可以判斷你的rootView是否爲空或者當調用onCreateView方法時,然後決定是否請求加載所有數據 – adsion 2015-03-31 05:52:06