【发布时间】:2014-05-14 18:20:16
【问题描述】:
我试图自己解决问题,但我不能,我也在寻找类似问题的答案,但我找不到答案。我有一个扩展 ActivityFragment 的活动,然后在该活动中我有一个片段。这个片段有一个带有 OnItemClickListener 的 ListView。当单击 ListView 中的一个项目但没有发生任何事情时,我正在尝试启动一项活动,我真的不知道问题出在哪里,它没有崩溃,只是没有发生任何事情。我尝试通过使用 OnClickListener 的按钮来执行此操作,并且没有问题。任何帮助将不胜感激。
Java 代码:
/**
* Instantiate a layout XML file into its corresponding view object.
* @return view
*/
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
ViewGroup view = (ViewGroup) inflater.inflate(R.layout.fragment_favourites_profiles, container, false);
email = getActivity().getIntent().getStringExtra("Email");
//Call loadProfiles method
loadProfiles();
// Gets ListView
lv = (ListView) view.findViewById(android.R.id.list);
// Listener that acts when profile is selected
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Intent in = new Intent(getActivity(), ProfileView.class);
//Starts activity
startActivity(in);
}
});
return view;
}
XML 列表视图:
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:divider="@color/color_black"
android:dividerHeight="1dp">
</ListView>
感谢您的帮助
【问题讨论】:
-
对此有一个建议,在
OnItemClickListener中放一个日志状态,看看是否调用了该方法。 -
getApplicationContent() 在片段中未定义
-
@LucianoSantis 你在哪里将适配器设置为列表视图
-
确保列表视图项中没有视图项窃取点击事件,例如。按钮、复选框、任何带有 clickable="true" 的视图等
标签: android listview android-fragments