問題タブ [commonsware]

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 投票する
1 に答える
391 参照

android - Busy Coder - サンプル プロジェクトのダウンロード

サンプル プロジェクトを 1 回でダウンロードするにはどうすればよいですか? 例えば。Basic/Label プロジェクトのリンクをクリックすると、個別のファイルをダウンロードするページが表示されます。リリース ページの BlankProject.zip のように、すべてを .zip でダウンロードすることはできませんか? ありがとう

0 投票する
0 に答える
242 参照

android - アクションバーにアプリ名が表示されない

一部のコモンズウェア アプリ サンプルでは、​​アプリ名のテキストがアクション バーに表示されません。たとえば、Containers デモ アプリには、テキストのない灰色のバーしかありません。テキストが表示されない理由はありますか?

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

android - CommonsWare 5.9 イベント バスの例でのスレッド セーフの問題

CommonsWare 5.9 イベント バスの例に関して、スレッド セーフの問題/質問があります。

model ArrayList複数のスレッドからアクセスする方法に問題があるように見えます。これが機能する場合、その理由を理解していただければ幸いです。

このコードは、 の宣言、初期化、および入力を実行しますmodel

400 ミリ秒ごとに起動し、エントリを に追加しmodelます。の消費modelは、投稿するのに便利なコードをすぐに持っていないという点で、もう少し複雑です。のどこかに落ちていArrayAdapterます。モデルの消費は、 への呼び出しによってトリガーされArrayAdapter.notifyDataSetChanged()ます。

私が抱えている問題/質問はmodel、(Android UI スレッドではなく) 1 つのスレッドに書き込まれますが、消費は UI スレッドで発生しています。のすべての要素model ArrayListが不変であるため、これは役に立ちますが、それでも私には正しくないように思えます。

このコードが実際に正しい場合、その理由を理解したいと思います。ありがとう、リー。

アップデート:

私の問題はイベントバス部分にあるとは思いません。私はそれを得ると思います。モデルが1つのスレッド(ワーカースレッド、上記のコード)で書き込まれているのに対し、理論的には別のスレッド(UIスレッド)で同時に読み取ることができるというJavaの問題です。モデルには、ある種の同時アクセス制御が必要なようです。同期ブロックまたは並行ArrayList. しかし、モデルの最終的な消費者は、自分のアプリで制御できないコードであり、ArrayAdapterどこかに落ちています。同期を追加できません。がArrayAdapterモデルで初期化されると、ArrayAdapterがそれを所有し、UI スレッドからアクセスします。非 UI スレッドがこの方法でモデルを変更できるかどうかはわかりません。

0 投票する
0 に答える
61 参照

android - ArrayPagerAdapter のタブの追加と削除

コードでデモと同じ方法でタブを追加および削除しようとしています。arrayAdapter.removeメソッドからremove()デモがどのように行われるかを正確に呼び出すトグルボタンがあります。がarrayAdapter.remove呼び出されると、要求された位置のタブは正しく削除されますが、変更はそのタブのヘッダーに反映されません。また、1 つのタブを削除した後に最後のタブをクリックしようとすると、何も起こりませんが、削除したいタブが削除されます。これがタブを再配置するロジックである場合、この null タブをどのように取り除くことができますか? タブにスワイプしようとすると、もうアクセスできないため、タブのフラグメントが削除されていることはわかっています。トグルボタンがクリックされたときに呼び出されるadd()タブにタブを追加するという同様の問題があります。adapter.setTabsToShow()add()remove()デモと同じです。以下にコードを掲載しました。

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

android - ホームボタンを押した後に CWAC LocationPoller がシャットダウンする

cwac-locpoll のデモ例を実行しています。LocationLog.txt ファイルに毎分自分の位置を記録するためのものです。アプリが画面上にある限り正常に動作しますが、ホームボタンを押すとログが停止し、アプリケーションに戻ると再度リロードされます。画面上で実行されているときに画面をロックすると同じことが起こりましたが、アプリを次のように強制的にスリープさせました。

ただし、これは、デバイスで他のアプリを実行しているときにバックグラウンドで実行するという問題を解決しませんでした. 使用している端末は Huawei Honor 7 です。

私の MainActivity のコード全体は次のとおりです。

}

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

android-fragments - 私のフラグメントAndroidコードでリークが見つかりません

TabLayout があり、各タブの下に Fragment があります (ArrayPagerAdapter を使用しています)。タブから別のタブに何度も切り替えると、メモリ使用量が大幅に増加することに気付きました。ヒープ スナップショットから、多くの AutoCompleteTextView インスタンスがあることがわかります。

Android のスタジオ メモリ ツール

したがって、問題は次の場所にあると確信しています。

Android Studio のメモリ ツール リファレンス ツリー

しかし、どこに問題があるのか​​ 正確に理解できません。

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

android - 別のアイテムを追加するとアプリがクラッシュする - cwac-pager


cwac-pagerArrayPagerAdapter( ) に別のページを追加するのに問題がありますv4。システムを使用して新しいタブを動的に追加できなかったため、そのライブラリを使用する必要がありましたPagerAdapter
MainActivity.java:

TestFragment.java:

activity_main.xml:

test_frag.xml:どちらであっLinearLayoutてもView、 だけです。

MainActivity.java追加したコメントを参照してくださいonStart(): 1 つのタブ (コメントされたメソッドの最後の 2 行) だけでアプリを実行すると、アクティビティは正しく開始されます。ただし、行のコメントを解除して別のタブを追加すると、アプリはすぐにクラッシュします。私は何を間違っていますか?
ありがとう

編集:logcat

例外もエラーもありません。