問題タブ [android-snackbar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
15173 参照

android - スナックバーが表示されない

私はBaseActivity他のすべての活動を継承しています。

activity_base.xml

アクティビティ以外のクラスからアクセスしようとすると、スナックバーが表示されません。

0 投票する
2 に答える
372 参照

android - 5.0 以降のデバイスで Snackbar を使用する

Lollipop以降のデバイスのみをサポートするアプリを作成したいと考えています。

Snackbarしかし、UNDO オプションを使用する必要があるユース ケースがあります。読んだ後、私はしなければならないようです:

  • 使用するCoordinatorLayout(サポート ライブラリ 1)
  • を使用し、使用AppCompatActivityしないActivity
  • Theme.AppCompat.(...)の代わりに使用android:Theme.Material
  • アプリ内の他のすべてのビューへの変更(ちょっと皮肉なことに)とのActionBar互換性だけを含むAppCompat

Snackbarこれは、他の場所ですべてを書き直さなければならないような基本的な機能を使用する唯一の方法ですか?

もっと良い方法があることを教えてください。これだけでは意味がありません!

0 投票する
2 に答える
6141 参照

android - スナックバー: 表示されているスナックバーを識別する方法

レイアウトを実装する recyclerview がありswipetorefreshます。リストを指で下にスワイプすると、新しい投稿が読み込まれます。またonloadmorelistener、私の recyclerview をページネーションする機能もあります。recyclerview を指で上にスワイプすると、古い投稿が読み込まれます。

snackbarユーザーがオフラインで、古い投稿や新しい投稿の読み込みなど、ある種のネットワーク アクティビティを完了しようとすると、「インターネットがありません」という通知を表示する通知を作成しようとしています。

インターネットがなく、ユーザーがリサイクラー ビューを上にスワイプしてから下にスワイプすると、同じ「インターネットがありません」というメッセージを表示する 2 つのスナックバー通知が表示されます。実際には、代わりに表示したいだけです。

したがって、スナックバーに表示されるテキストを識別するための独自の方法を探しています。テキストが両方のスナックバーで同じ場合、1 つのスナックバーのみが表示されますが、getText()スナックバーにはメソッドがなく、http のみsetText()表示されます。 ://developer.android.com/intl/es/reference/android/support/design/widget/Snackbar.html

また、コールバック メソッドがあることもわかります: http://developer.android.com/intl/es/reference/android/support/design/widget/Snackbar.Callback.htmlしかし、どれも私のシナリオでは役に立たないようです。

識別目的で作成されたときにスナックバーに与えることができた一意のフラグがあればいいのにと思いますが、このSnackbar.make方法では許可されていません。

これに似た問題の解決に成功した人はいますか?

0 投票する
1 に答える
3518 参照

android - SnackBar インスタンスを使用して何度も表示する

手順

次のように SnackBar インスタンスを保存できます。

そして、初めてこれを使用して非常に簡単に表示されます。mSnackBar.show();


問題

しかし、これを使用してこのスナックをクリアした後:mSnackBar.dismiss()

LOLLIPOPデバイスでは再び表示されませんが、期待される動作であるJELLYBEANエミュレータでは
(必要に応じてshow())表示されます。


質問

LOLLIPOPデバイスのこのプロセスで間違っていることや不足していることを見つけるのを手伝ってください。

0 投票する
1 に答える
751 参照

c# - Android - スナックバー - Show() が呼び出された後に致命的な例外でクラッシュする

アプリにスナックバーを表示するための次のコードがあります。

これは私のコードから参照されているコーディネーター レイアウトです (これは私のレイアウトに含まれていることに注意してください - 単独では使用されていません)。

Android MおよびAPI 22より前でテストするまで、API 22ですべてがうまく機能しました(主な原因ではない可能性があります)。Show() が呼び出された後、アプリは次の例外でクラッシュします。

01-01 15:10:45.454 E/AndroidRuntime(2482): 致命的な例外: メイン 01-01 15:10:45.454 E/AndroidRuntime(2482): プロセス: com.psonar.android、PID: 2482 01-01 15: 10:45.454 E/AndroidRuntime(2482): java.lang.NullPointerException: null オブジェクト参照 01-01 15:10:45.454 E/AndroidRuntime( 2482): android.support.design.widget.Snackbar$SnackbarLayout.onMeasure(Snackbar.java:707) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.view.View.measure(View. java:18788) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) 01-01 15:10:45.454 E/AndroidRuntime(2482): at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:610) 01-01 15:10:45。454 E/AndroidRuntime(2482): android.widget.LinearLayout.measureVertical(LinearLay01-01 15:10:45.454 E/AndroidRuntime(2482): android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:677) ) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.widget.RelativeLayout.measureChildHorizo​​ntal(RelativeLayout.java:715) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.widget で.RelativeLayout.onMeasure(RelativeLayout.java:461) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.view.View.measure(View.java:18788) 01-01 15:10:45.454 E /AndroidRuntime(2482): android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.widget.FrameLayout.onMeasure(FrameLayout.java:194) ) 01-01 15:10:45.454 E/AndroidRuntime(2482):android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.view.View.measure(View.java:18788) 01 -01 15:10:45.454 E/AndroidRuntime(2482): android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.widget.LinearLayout .measureChildBeforeLayout(LinearLayout.java:1465) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.widget.LinearLayout.measureVertical(LinearLayout.java:748) 01-01 15:10:45.454 E/AndroidRuntime ( 2482): android.widget.LinearLayout.onMeasure(LinearLayout.java:630) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.view.View.measure(View.java:18788) 01 -01 15:10:45.454 E/AndroidRuntime(2482): android.view.ViewGroup で。measureChildWithMargins(ViewGroup.java:5951) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.widget.FrameLayout.onMeasure(FrameLayout.java:194) 01-01 15:10:45.454 E/AndroidRuntime( 2482): android.view.View.measure(View.java:18788) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) 01- 01 15:10:45.454 E/AndroidRuntime(2482): android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.widget.LinearLayout で。 measureVertical(LinearLayout.java:748) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.widget.LinearLayout.onMeasure(LinearLayout.java:630) 01-01 15:10:45.454 E/AndroidRuntime( 2482): android.view.View.measure(View.java:18788) 01-01 15:10:45 で。454 E/AndroidRuntime(2482): android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.widget.FrameLayout.onMeasure(FrameLayout.java) :194) 01-01 15:10:45.454 E/AndroidRuntime(2482): com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643) 01-01 15:10:45.454 E/AndroidRuntime ( 2482): android.view.View.measure(View.java:18788) 01-01 15:10:45.454 E/AndroidRuntime( 2482): android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2100) 01 -01 15:10:45.454 E/AndroidRuntime(2482): android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1216) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.view.ViewRootImpl で.performTraversals(ViewRootImpl.java:1452) 01-01 15:10:45.454 E/AndroidRuntime(2482):android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.view.Choreographer で.doCallbacks(Choreographer.java:670) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.view.Choreographer.doFrame(Choreographer.java:606) 01-01 15:10:45.454 E/AndroidRuntime ( 2482): android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.os.Handler.handleCallback(Handler.java:739) で) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.os.Handler.dispatchMessage(Handler.java:95) 01-01 15:10:45.454 E/AndroidRuntime(2482): android.os.Looper.loop(Looper.java:148) 01-01 15:10:45.454 E/ AndroidRuntime(2482): android.app.ActivityThread.main(ActivityThread.java:5417) 01-01 15:10:45.454 E/AndroidRuntime(2482): java.lang.reflect.Method.invoke(Native Method) 01 -01 15:10:45.454 E/AndroidRuntime(2482): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 01-01 15:10:45.454 E/AndroidRuntime(2482): com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) で454 E/AndroidRuntime(2482): java.lang.reflect.Method.invoke(Native Method) 01-01 15:10:45.454 E/AndroidRuntime(2482): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.実行 (ZygoteInit.java:726) 01-01 15:10:45.454 E/AndroidRuntime (2482): com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) で454 E/AndroidRuntime(2482): java.lang.reflect.Method.invoke(Native Method) 01-01 15:10:45.454 E/AndroidRuntime(2482): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.実行 (ZygoteInit.java:726) 01-01 15:10:45.454 E/AndroidRuntime (2482): com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) で

コードから Dispose() 呼び出しを削除して、効果があるかどうかを確認しようとしましたが、効果はありません。