2015-01-18 4 views
0

В моем коде содержатся данные, извлеченные из бэкэнда синтаксического анализа, с использованием parsequeryadapter. На основе полученного текста мой код отображает некоторые изображения в списке, которые являются в основном кнопками с пользовательскими фонами и некоторым текстом.ListItemClick не работает в ListFragment с ParseQueryAdapter

Проблема в том, что метод onListItemClick, похоже, вообще не называется. (Это может сработать, если оно вызвано)

Конструкция кода выглядит так: NavActivity содержит фрагмент, содержащий дочерний список, фрагментированный в XML.

Это метод getItemView в моем ParseQueryAdapter метод

@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

Я нашел ответ, кажется, что он сфокусирован не только для кнопок/флажков, но и для таких элементов, как HorizontalScrollViewer. У меня был мой linearlayout, в который я добавлял кнопки, заключенные в horizontalscrollviewer. После того, как я удалил указанный элемент, функции щелчка работают нормально.

Смежные вопросы