나는 각 탭에 listview가 포함 된 네 개의 탭으로 구성된 탭 레이아웃을 구현했습니다. 이전에 listview와 동일한 설정을 탭 호스트에서 사용하지 않았으므로 정상적으로 작동했습니다. 목록 항목을 클릭하면 새 활동이 시작됩니다. 하지만 이제 목록을 클릭 할 수 없습니다 scrollable.how 이제까지, 모든 탭을 한 번 클릭 한 다음 스크롤/행을 시도 할 때, 그것은 완벽하게 작동합니다. 둘 다 가능하게하는 방법을 알려주십시오. 코드는 다음과 같습니다.안드로이드 탭 레이아웃 목록보기를 클릭 할 수 없음
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;
}
}));
죄송합니다. 어떻게 표시 되나요? 또한, 질문을 다시 읽으십시오, 나는 다만 더 귀중한 약간 정보를 추가했다 –
그것은 이상했다; 텍스트는 내 응답에 있었지만 어떤 이유로 렌더링되지 않았습니다. –
고마워요.하지만 내 질문을 다시 읽었어요. 그것에 몇 가지 정보를 추가했습니다. 목록은 클릭 가능/스크롤 가능하지만 마지막 위젯을 클릭 한 후에 만 가능합니다. –