2011-01-09 8 views
0

私は、各タブにリストビューを含む4つのタブで構成されるタブレイアウトを実装しました。以前はlistviewと同じ設定を使用していましたが、タブホストではなく、うまくいきました。リストアイテムがクリックされると、新しいアクティビティが開始されます。しかし今はリストがクリック可能ではありません。今までは、すべてのタブを一度クリックしてスクロール/クリックすると完全に正常に動作します。私は両方を可能にする方法を教えてください。コードは次のとおりですアンドロイドタブレイアウトリストビューはクリックできません

tabHost = (TabHost) findViewById(android.R.id.tabhost); 
     tabHost.setup(); 
     tabHost.setOnTabChangedListener(this); 

     list = (ListView) findViewById(R.id.listAll); 
     list.setEmptyView((TextView) findViewById(R.id.empty)); 

     //list for all 

     tabHost.addTab(tabHost.newTabSpec(LIST_ALL).setIndicator("All Events").setContent(new TabContentFactory() { 
      public View createTabContent(String arg0) { 
       try{ 
        Event event = new Event(); 
        final String [] eventTitleArray = new String[XmlParser.eventsList.size()]; 
        String [] eventDateArray = new String[XmlParser.eventsList.size()]; 
        String [] eventImageLinkArray = new String[XmlParser.eventsList.size()]; 

       for(int i=0;i<XmlParser.eventsList.size();i++){ 
         event = XmlParser.eventsList.get(i); 
         eventTitleArray[i] = event.getTitle(); 
         if(event.getDistance()!=0.0) 
          eventDateArray[i] = event.getsDate() +" - " +Double.toString(event.getDistance())+"mi"; 
         else 
          eventDateArray[i] = event.getsDate(); 
         eventImageLinkArray[i] = event.getImageLink(); 


         Log.i(tag , "event detail"+event.getTitle()); 
        } 
        list=(ListView)findViewById(R.id.listAll); 
        adapter= new LazyAdapter(HomeActivity.this, eventTitleArray,eventDateArray,eventImageLinkArray); 
        list.setAdapter(adapter); 
        list.setFocusable(false); 
        list.setOnItemClickListener(new OnItemClickListener() { 
         @Override 
         public void onItemClick(AdapterView<?> arg0, View arg1, 
           int position, long arg3) { 
          Intent intent = new Intent(HomeActivity.this, DisplayActivity.class); 
          Bundle b = new Bundle(); 
          System.out.println("position in list:"+position); 
          System.out.println("title name in the list:"+eventTitleArray[position]); 
          b.putString("eventTitle", eventTitleArray[position]); 
          intent.putExtras(b); 
          startActivity(intent); 

          Toast.makeText(getApplicationContext(), "Detailed view for the Event", Toast.LENGTH_SHORT).show(); 


         } 
        }); 
       } 
       catch(Exception e){ 
        e.printStackTrace(); 
       } 
       return list; 
      } 
     })); 

     tabHost.addTab(tabHost.newTabSpec(LIST_TODAY).setIndicator("Events Today").setContent(new TabContentFactory() { 
      public View createTabContent(String arg0) { 
       return list; 
      } 
     })); 

答えて

0

私はこれをしなかったし、リストは現在、完全に正常に動作します。

 tabHost.setCurrentTab(3); 
     tabHost.setCurrentTab(2); 
     tabHost.setCurrentTab(1); 
     tabHost.setCurrentTab(0); 
0

レイアウトXMLファイルでクリック可能とマークされたリストビューはありますか?

それは次のようになります。

<ListView 
     android:id="@+id/MyListView" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:clickable="true"/> 
+0

申し訳ありませんが、どのように表示されるかについては言及していませんか?また、もう一度質問を読んでください、私はちょうどもっと貴重な情報を追加しました –

+0

それは奇妙でした。テキストは私の応答にあったが、なんらかの理由でレンダリングされなかった。 –

+0

ありがとう...しかし、あなたは私の質問をもう一度読んだ。私はそれにいくつかの情報を加えた。リストはクリック可能/スクロール可能ですが、最後のウィジェットがクリックされた後にのみ –

関連する問題