我在本网站上查看了有关此问题的所有问题,并尝试了所有解决方案,但没有任何效果,所以我提出这个问题是为了发布我的特定代码。
我有一个扩展ListFragment(android.support.v4.app.ListFragment)的片段,它包含三个按钮和一个ListView,ListView没有任何可以窃取焦点的自定义视图,它只是一个使用创建的ListView一个ArrayAdapter。 onCreateView()方法如下所示:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_scoring, container, false);
scrabbleGame = new Scrabble();
Bundle bundle = getArguments();
ArrayList<String> playerList = bundle.getStringArrayList("Player List");
for(String playerName : playerList){
Player player = new Player(playerName, scrabbleGame);
scrabbleGame.addPlayer(player);
}
players = (ListView) view.findViewById(android.R.id.list);
adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, scrabbleGame.getPlayerNames());
players.setAdapter(adapter);
players.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Toast.makeText(getContext(), "Click registered", Toast.LENGTH_LONG).show();
String playerName = players.getItemAtPosition(position).toString();
Player player = scrabbleGame.getPlayerByName(playerName);
mListener.onFragmentInteraction(player, scrabbleGame);
}
});
return view;
}
当我单击列表中的某个项目时,没有任何反应,事件/侦听器永远不会被触发,它永远不会触及该行。没有错误出现。只是没有任何反应。
如果我在本网站上找到其他问题的解决方案,我不会问这个问题,所以请不要将此标记为重复。
我已经修好了。将其更改为扩展正常片段,现在可以正常工作
答案 0 :(得分:0)
有类似的问题。通过在列表项XML中的LinearLayout中添加以下内容来解决该问题:
android:descendantFocusability="blocksDescendants"