2012-02-10 5 views
0

У меня есть пользовательский список, но я запускаю странную проблему, когда я нажимаю один элемент: он реагирует только при нажатии на сам текст, он не работает на весь «прямоугольник»Пользовательский запрос на просмотр списка просмотров

это мой listelement.xml

<?xml version="1.0" encoding="utf-8"?> 


<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/text1" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:textAppearance="?android:attr/textAppearanceLarge" 
android:gravity="center_vertical" 
android:paddingLeft="6dip" 
android:minHeight="20dip" 
/> 

и это код Java:

public class TabFragment5 extends ListFragment { 
/** (non-Javadoc) 
* @see android.support.v4.app.Fragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) 
*/ 
String[] month ={ 
      "January      ", 
      "February", 
      "March", 
      "April", 
      "May", 
      "June", 
      "July", 
      "August", 
      "September", 
      "October", 
      "November", 
      "December" 
     }; 



     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      ListAdapter myListAdapter = new ArrayAdapter<String>(
      getActivity(), 
      R.layout.listelement, 
      month); 
      setListAdapter(myListAdapter); 
     } 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
      return inflater.inflate(R.layout.tab_frag5_layout, container, false); 
     } 

     @Override 
     public void onListItemClick(ListView l, View v, int position, long id) { 
      // TODO Auto-generated method stub 
      Toast.makeText(
      getActivity(), 
      getListView().getItemAtPosition(position).toString(), 
      Toast.LENGTH_LONG).show(); 
     } 
     } 

Nevermind глупая программа, я просто запустить учебник сейчас. Любые подсказки о том, как заставить его работать со всем прямоугольником элемента списка? Благодаря

ответ

1

ListFragment уже есть ListView, поэтому вам может не понадобиться раздувать макет из onCreateView, если вы не создаете собственный макет, в котором есть ListView внутри него. Я предполагаю, что ваша проблема заключается в вашем макете для tab_frag5_layout. Независимо от того, что вы обертываете, ListView in, вероятно, сокращает ширину ListView.

Сочетание функции onCreate и onCreateView в реализации onActivityCreated работало для меня.

@Override 
public void onActivityCreated(Bundle savedInstanceState) 
{   
    super.onActivityCreated(savedInstanceState); 

    ListAdapter myListAdapter = new ArrayAdapter<String>(
     getActivity(), 
     R.layout.listelement, 
     month); 
    setListAdapter(myListAdapter); 

}

+0

«Я полагаю, ваша проблема в вашем макет для tab_frag5_layout. Независимо от того, что вы обертываете, ListView in, вероятно, сокращает ширину ListView. " ЭТО была проблема. Я не знаю, как я об этом не думал. Большое спасибо!! – tyb

1

Добавить вид там, который заполняет родителя, так как единственный объект в список объектов является TextView его единственная вещь, которую вы можете нажать, попробовать что-то вроде этого:

<LinearLayout android:id="@+id/linearLayout1" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> 


     <TextView 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/text1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="15dip" 
      android:textSize="25sp"/> 

    </LinearLayout> 
+0

Спасибо за ответ, но это заставляет близко. Logcat говорит, что я должен предоставить идентификатор ресурса для текстового представления ... (что это значит?) – tyb

+0

Хмм, не придумал для меня, попробуйте удалить xmlns: android: «http://schemas.android.com/apk/res/android "в TextView, а затем очистить проект и повторить попытку – FabianCook

+0

Не работает ... спасибо в любом случае. – tyb

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