2

特定の会社のつぶやきを読み込むアプリを作成しています。Android 2.3 以降のバージョンと互換性を持たせるには、FragmentActivity と ListFragment を使用する必要がありました。AsyncTask を使用して FragmentAcitivity クラスでアプリの開始時にツイートを取得し、タブを追加して、それらを sqlite DB にロードしています。ここで、タブをクリックすると、LoaderManager を使用している sqllite DB からこれらのツイートをロードする必要がありますが、タブをクリックしても何も表示されません。ここに私のコードスニペットがあります:

フラグメント アクティビティ:

     @Override
    public void onTabChanged(String tag) {  
Log.d(TAG, "onTabChanged");  
TabInfo newTab = this.mapTabInfo.get(tag);  
if (mLastTab != newTab) {  
  FragmentTransaction ft = this.getSupportFragmentManager().beginTransaction();  
if (mLastTab != null) {  
if (mLastTab.fragment != null) {  
 ft.detach(mLastTab.fragment);  
 }  
}  
if (newTab != null) {  
if (newTab.fragment == null) {  
newTab.fragment = (ListFragment) ListFragment.instantiate(this, newTab.clss.getName(), newTab.args);  
ft.add(R.id.realtabcontent, newTab.fragment, newTab.tag);  
} else {ft.attach(newTab.fragment);  
}  
}     
mLastTab = newTab;  
ft.commit();  
this.getSupportFragmentManager().executePendingTransactions();  
}    
}  

リストフラグメント:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {  
Log.d(TAG, "onCreateView");  
if (container == null) {  
return null;  
}   
adapter = new SimpleCursorAdapter(getActivity().getApplicationContext(), R.layout.row, null,TweetStatusProvider.FROM,TweetStatusProvider.TO,CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);  
adapter.setViewBinder(VIEW_BINDER);  
getLoaderManager().initLoader(STATUS_LOADER, null, this);  
Log.d(TAG, "initLoader executed");  
View view = inflater.inflate(R.layout.list_fragment_layout, container, false);      
ListView listView = (ListView)view.findViewById(android.R.id.list);  
listView.setAdapter(adapter);  
return view;  
}  

レイアウト: main.xml:

 <?xml version="1.0" encoding="utf-8"?>  
 '<'TabHost xmlns:android="http://schemas.android.com/apk/res/android"  
  android:id="@android:id/tabhost"  
  android:layout_width="match_parent"  
  android:layout_height="match_parent" '>'  
'<'LinearLayout  
android:layout_width="match_parent"  
android:layout_height="match_parent"  
android:background="@drawable/background"  
android:orientation="vertical"  
android:padding="10dp" '>'  
'<'HorizontalScrollView  
android:layout_width="match_parent"  
android:layout_height="wrap_content"  
android:scrollbars="none" '>'  
'<'TabWidget  
android:id="@android:id/tabs"  
android:layout_width="54dp"  
android:layout_height="60dp" '/>'  

'<'/HorizontalScrollView'>'  
'<'FrameLayout  
android:id="@android:id/tabcontent"  
android:layout_width="match_parent"  
android:layout_height="match_parent"  
android:padding="5dp" '>'  
'<'/FrameLayout'>'  
'<'FrameLayout  
android:id="@+android:id/realtabcontent"  
android:layout_width="fill_parent"  
android:layout_height="0dp"  
android:layout_weight="1" /'>'  
'<'/LinearLayout'>'  
'<'/TabHost'>'  

list_fragment_layout.xml:

 '<'?xml version="1.0" encoding="utf-8"?'>'  
 '<'LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     
 android:layout_width="match_parent"    
 android:layout_height="match_parent"    
 android:orientation="vertical" '>'    

 '<'ListView  
 android:id="@android:id/list"  
 android:layout_width="match_parent"  
 android:layout_height="wrap_content" '>'  
 '<'/ListView'>'    
'<'/LinearLayout'>'  

行.xml:

'<'?xml version="1.0" encoding="utf-8"?'>'  
'<'RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent" '>'  
    '<'TextView  
 android:id="@+id/text_user"  
 android:layout_width="wrap_content"  
 android:layout_height="wrap_content"  
 android:layout_alignParentLeft="true"  
 android:layout_alignParentTop="true"  
 android:text="Large Text"  
 android:textAppearance="?android:attr/textAppearanceLarge" /'>'  

'<'TextView  
 android:id="@+id/text_created_at"  
 android:layout_width="wrap_content"  
 android:layout_height="wrap_content"  
 android:layout_alignParentRight="true"  
 android:layout_alignParentTop="true"  
 android:text="10 minutes ago"  
 android:textAppearance="?android:attr/textAppearanceMedium" /'>'  
'<'TextView  
  android:id="@+id/text_text"  
  android:autoLink="all"  
      android:layout_width="wrap_content"  
  android:layout_height="wrap_content"  
  android:layout_alignParentLeft="true"  
  android:layout_alignParentRight="true"  
  android:layout_below="@+id/text_user"  
  android:text="Small Text"  
  android:textAppearance="?android:attr/textAppearanceSmall" /'>'  
'<'/RelativeLayout'>'  
4

0 に答える 0