[解決済み] SwipeRefreshLayout setRefreshing()のインジケータが初期表示されない
2022-05-04 17:10:07
質問
とてもシンプルなレイアウトなのですが
setRefreshing(true)
で
onActivityCreated()
が表示されない。
プルして更新したときだけ表示されます。なぜ最初に表示されないのか、何か思い当たることはありますか?
フラグメントxmlです。
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_container"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</RelativeLayout>
</ScrollView>
</android.support.v4.widget.SwipeRefreshLayout>
フラグメントコードです。
public static class LinkDetailsFragment extends BaseFragment implements SwipeRefreshLayout.OnRefreshListener {
@InjectView(R.id.swipe_container)
SwipeRefreshLayout mSwipeContainer;
public static LinkDetailsFragment newInstance(String subreddit, String linkId) {
Bundle args = new Bundle();
args.putString(EXTRA_SUBREDDIT, subreddit);
args.putString(EXTRA_LINK_ID, linkId);
LinkDetailsFragment fragment = new LinkDetailsFragment();
fragment.setArguments(args);
return fragment;
}
public LinkDetailsFragment() {
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mSwipeContainer.setOnRefreshListener(this);
mSwipeContainer.setColorScheme(android.R.color.holo_blue_bright,
android.R.color.holo_green_light,
android.R.color.holo_orange_light,
android.R.color.holo_red_light);
mSwipeContainer.setRefreshing(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_link_details, container, false);
ButterKnife.inject(this, rootView);
return rootView;
}
@Override
public void onRefresh() {
// refresh
}
}
解決方法は?
同じ問題に直面しました。私の解決策
mSwipeRefreshLayout.post(new Runnable() {
@Override
public void run() {
mSwipeRefreshLayout.setRefreshing(true);
}
});
関連
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
AndroidエミュレーターのADBサーバーがACKしない問題
-
Android studioのインストールと問題発生、Emulator: PANIC: AVDのシステムパスが見つかりません。
-
repo: コマンドが見つかりません
-
Androidで、onTouchEventでダブルクリックを実装し、ダブルクリックイベントとして判定する方法
-
Android ProgressBarのスタイルカラーを変更する
-
SpinnerのOnItemSelectedListenerのonItemSelectedメソッドの4つのパラメーターの意味
-
Androidカスタムドロップダウンリストボックスコントロール
-
アンドロイドスタジオソフトウェア使用詳細説明書
-
[解決済み] Androidでファイルをダウンロードし、ProgressDialogで進捗を表示する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Gradle のエラーです。gradle-core.jar (com.android.tools.build:gradle-core:x.x.x) を見つけられませんでした。
-
AndroidStudio reports Could not resolve all artifacts for configuration ':app:classpath'.
-
デフォルトのアクティビティが見つからない場合の対処法
-
アプリはGoogle検索でインデックスされません Androidmanifestのクソみたいな黄色い警告
-
Google PlayデバイスはPlay保護機構の認証を受けていません。
-
telnet'が内部コマンドまたは外部コマンドとして認識されない 解決方法
-
view.getRootView()の本当の意味とテストについて
-
アンドロイドシェイプ、グラデーション、角丸、ボーダーラインの設定
-
アプリの実行エラー。ターゲットデバイスが見つからない問題
-
Android Studioのgitの使用とgitの設定パス