編集 私は私のListViewがAsyncTaskによって移入されていることをあなたに言わなければなりません。
以下のコードは、onPostExecuteメソッドで実行すると正常に機能します。
synchronized (mListView) {
if(mFeeds==null || mFeeds.size()==0){
Utils.Log("mFeeds empty");
_this.setListShown(false);
}else{
Utils.Log("mFeeds Full");
_this.setListShown(true);
mListView.setAdapter(new ListFeedsAdapter(mActivity,mFeeds));
mListView.notifyAll();
NewsFeedsDetailViewPagerFragment fragment = (NewsFeedsDetailViewPagerFragment) getFragmentManager()
.findFragmentById(R.id.feeddetailViewPagerFragment);
if(fragment!=null){
mListView.performItemClick(null, 0, mListView.getFirstVisiblePosition());
}
}
}
アイテムをクリックすると、詳細ビューが表示されます...
FragmentをListFragmentに変更しようとしましたが、何も変更されていません...
編集終了
私のアプリケーションでは、左側の画面にListView、右側に詳細ビューを備えたUI(タブレット用)を作成しました。データを読み込んだ後、最初の項目を自動的に選択して詳細を表示したいのですが。
私は電話してこれを行うことができmListView.performItemClick(null, 0, mListView.getFirstVisiblePosition());
ます
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
NewsFeedsDetailViewPagerFragment fragment = (NewsFeedsDetailViewPagerFragment)
getFragmentManager().findFragmentById(R.id.feeddetailViewPagerFragment);
if(fragment!=null){
fragment.setFeedDetail(mFeeds, arg2);
}
});
さて、私がやりたいのは、タブレット用のGmailアプリケーションのような最初のアイテムを強調することです。私は次のように各行でセレクターの背景を使用します:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/selected_item_background" android:state_activated="true"/>
<item android:drawable="@drawable/pressed_item_background" android:state_activated="false" android:state_pressed="true"/>
<item android:drawable="@drawable/pressed_item_background" android:state_focused="true"/>
<item android:drawable="@drawable/unselected_item_background"/>
</selector>
mListView.getChildAt(arg2).setActivated(true);
onItemClickリスナーで使用すると、perforItemClickmListView.getChildAt(arg2)
を保持している場合にのみ、nullであるためNullPointerExceptionが発生します。この行にコメントを付けて行をクリックすると、Gmailアプリケーションのようにこの行が強調表示されます。
私を助けて、私が間違っていることを教えてもらえますか?
少し早いですがお礼を