我的代码涉及使用parsequeryadapter显示从解析后端检索的数据。根据检索到的文本,我的代码在列表视图中显示一些图像,这些图像基本上是具有自定义背景和一些文本的按钮。
问题是onListItemClick方法似乎根本没有被调用。 (如果被调用它可能会有效)
代码构造如下: NavActivity包含一个片段,其中包含XML中定义的子列表片段。
这是我的ParseQueryAdapter中的getItemView方法
@Override
public View getItemView(ParseObject object, View v, ViewGroup parent) {
if (v == null) {
v = View.inflate(context, R.layout.post_item, null);
}
super.getItemView(object, v, parent);
//find the elements here and set the value from the ParseObject returned
TextView1 = (TextView) v.findViewById(R.id.NumberTxtView);
Holder = (LinearLayout) v.findViewById(R.id.feloniesList);
if (object != null) {
Holder.removeAllViewsInLayout();
TextView1.setText(object.getString("comment"));
JSONArray jsonArray = object.getJSONArray("incident");
for (int i = 0; i < jsonArray.length(); i++) {
//Create a new button
Button button = new Button(getContext());
String btnText = null;
int resId = 0;
try {
//Get the string from the JSON Array
String item = jsonArray.getString(i);
button.setFocusable(false);
button.setText(item);
} catch (JSONException e) {
e.printStackTrace();
}
Holder.addView(button, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
}
}
return v;
}
ListItemClick方法
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
feedObject = feedAdapter.getItem(position);
mListener.onListItemClicked(feedObject.getObjectId());
}
我阅读here,将其他组件视为不可调焦,将解决问题,但它没有帮助。任何帮助将不胜感激
答案 0 :(得分:0)
我找到了答案,看起来焦点不仅适用于按钮/复选框,还适用于像HorizontalScrollViewer这样的元素。我有我的线性布局,我在其中添加了按钮,包含在水平滚动查看器中。删除所述元素后,单击函数正常工作。