問題タブ [android-listfragment]
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.
android - リストビューに表示されるように ArrayList を非同期的に埋めます
ユーザーがボタンをクリックすると、新しい ListFragment が表示されます。このフラグメントには、関連付けられたアーティスト名を含むアルバムのリストが含まれます。
アルバムのタイトルと対応するアーティスト名AlbumItem (String name, String artist)
を使用して、独自のクラスを作成しました。name
artist
次に、アルバムの名前とアーティストの名前を ListView の行の正しい TextView に関連付けるカスタム アダプターを作成しました。
したがって、AlbumItem の ArrayList を宣言して、次のように入力できます。
今、私はいくつかの質問があります:
1) 私は適切な道を進んでいますか? 私は常にそのようなリストビューを埋めることを学び、この手法 (カスタム アイテム クラス + ArrayList + カスタム アダプター) を使用することに非常に慣れていますが、音楽プレーヤーを実行していて、アルバムのリストを照会して更新したいと考えています。 UI がブロックされないようにリストビューを非同期に。私のやり方でArrayListにデータをロードすることでそれが可能かどうかはわかりません。
2) この ArrayList を非同期的に埋める方法は? LoaderManager/CursorLoader または Asyntask または何か他のもので? (Android 4.0をターゲットにしています)
アドバイスありがとうございます。
android - LoaderManagerとCursorLoaderを使用してリストビューにアルバムとアーティストを表示する
を使用してListFragment
、デバイスのアルバムと関連するアーティストを表示するリストがありますMediaStore
。したがって、各行には2つありTextViews
ます。行のをデータにバインドするために、カスタムCursorAdapterを使用LoaderManager
してリストを埋めています。CursorLoader
TextViews
ListFragmentコード:
AlbumsAdapter(カスタムCursorAdapter)コード:
今のところ、このListFragmentを表示すると、java.lang.NullPointerExceptionが発生します。これがlogCatです。
アルバムと関連するアーティストをリストビューに表示するために、コードを修正するのを手伝ってもらえますか?
問題が解決しました :
カスタムリストビューをAlbum、Artistなどで埋めようとしている人は、LoaderManager/CursorLoaderというテクニックを使用する必要があります。
1)行のTextViewをカーソルのデータにバインドする独自のカスタムCursorAdapterを作成します(上記のカスタムCursorAdapterを参照)
2)次に、フラグメントで次のことを行います。
以上です !!!カスタムリストビューを埋めるためにLoaderManager、CursorLoader、およびカスタムアダプタを使用する方法について、このような非常に単純な例を誰も調達したことがない理由はわかりません。とにかく、これが私のような初心者の将来に役立つことを願っています。
android - Android 表示されている ListFragment アイテムを使用して ArrayList にデータを入力する
ViewPager で ListFragment を使用しています。ユーザーが新しいページにページを移動するたびに、表示されている ListFragment のリスト項目を ArrayList に設定する方法はありますか?
android - Android の ListFragment を使用した XML 解析
私は現在、サービスに接続してxmlを取得し、asynctaskで解析してListViewに表示するAndroidプロジェクトを開発しています。私は標準の ListActivity を使用しており、完全に正常に動作していますが、ListFragment を使用したいのですが、アクティビティまたはフラグメントで xml 解析を行う方が良いかどうか、API サンプルからわかりません。また、アクティビティで解析を行った場合、配列リストをフラグメントに渡して表示するにはどうすればよいでしょうか?
ヘルプやチュートリアルをいただければ幸いです。
ありがとうございました!
android - クラス (ListFragment) は LoaderManager.LoaderCallbacks を実装していますが、getLoaderManager().initLoader() は「this」を引数として受け入れません。
Android での SQLite の使用に関するガイドに従うのに問題があります。(例のように) a のListFragment
代わりに aを使用しているので、代わりに実装しています。次に、 のメソッドで:ListActivity
ListFragment
LoaderManager.LoaderCallbacks<Cursor>
fillData()
ListFragment
エラーが発生します:
this
実装しているにもかかわらず、マークされた行にLoaderManager.LoaderCallbacks<Cursor>
。
アイデアをありがとう。
android - Android ListFragment リストビューが向きの変更で重なっています
ListFragment を使用し、Android 互換パッケージから LoaderManager.LoaderCallbacks を実装して、アプリでリスト ビューを表示しています。リストは正常に表示されていますが、向きが変わるとリストビューが適切ではありません(ビューが前のものと重なっていると思います)
ここに写真があります: list-view-after-orientation-change
誰かが以前に同じ問題に直面したことがありますか? 何が問題だったのか、またはさらに詳細を提供する必要があるかどうかをお知らせください。
android - ListFragment を表示しようとしています
ListFragment を表示しようとしています。すべてが正しく設定されていると思いますが、何を試しても、RuntimeException: Unable to start Activity が発生します。私は数日間検索とデバッグを行ってきましたが、まだ答えが出ていません。ここに私がこれまでに持っているコードがあります。どんな助けでも大歓迎です。
アクティビティを開始するメソッドは次のとおりです。
前のメソッドが開始するアクティビティは次のとおりです。
これが tip_list_fragment_activity.xml です。
TipListFragment は次のとおりです。
最後に、list_fragment.xml を次に示します。
スタック トレースは次のとおりです。
07-01 00:41:37.932: E/AndroidRuntime(6083): 致命的な例外: メイン 07-01 00:41:37.932: E/AndroidRuntime(6083): java.lang.RuntimeException: アクティビティ ComponentInfo{com を開始できません。 app.tipcalculator/com.app.tipcalculator.TipListActivity}: android.view.InflateException: バイナリ XML ファイルの行 #7: クラス フラグメントの膨張エラー
07-01 00:41:37.932: E/AndroidRuntime (6083): android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1956) で
07-01 00:41:37.932: E/AndroidRuntime (6083): android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1981) で
07-01 00:41:37.932: E/AndroidRuntime(6083): android.app.ActivityThread.access$600(ActivityThread.java:123)
07-01 00:41:37.932: E/AndroidRuntime(6083): android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) で
07-01 00:41:37.932: E/AndroidRuntime(6083): android.os.Handler.dispatchMessage(Handler.java:99) で
07-01 00:41:37.932: E/AndroidRuntime(6083): android.os.Looper.loop(Looper.java:137) 07-01 00:41:37.932: E/AndroidRuntime(6083): Android で。 app.ActivityThread.main(ActivityThread.java:4424)
07-01 00:41:37.932: E/AndroidRuntime(6083): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) で
07-01 00:41:37.932: E/AndroidRuntime(6083): java.lang.reflect.Method.invoke(Method.java:511) で
07-01 00:41:37.932: E/AndroidRuntime(6083): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) で
07-01 00:41:37.932: E/AndroidRuntime (6083): com.android.internal.os.ZygoteInit.main (ZygoteInit.java:551) で
07-01 00:41:37.932: E/AndroidRuntime(6083): dalvik.system.NativeStart.main(ネイティブ メソッド) で
07-01 00:41:37.932: E/AndroidRuntime(6083): 原因: android.view.InflateException: バイナリ XML ファイルの行 #7: クラス フラグメントの膨張エラー
07-01 00:41:37.932: E/AndroidRuntime(6083): android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697) で
07-01 00:41:37.932: E/AndroidRuntime(6083): android.view.LayoutInflater.rInflate(LayoutInflater.java:739) で
07-01 00:41:37.932: E/AndroidRuntime(6083): android.view.LayoutInflater.inflate(LayoutInflater.java:489) で
07-01 00:41:37.932: E/AndroidRuntime(6083): android.view.LayoutInflater.inflate(LayoutInflater.java:396) で
07-01 00:41:37.932: E/AndroidRuntime(6083): android.view.LayoutInflater.inflate(LayoutInflater.java:352) で
07-01 00:41:37.932: E/AndroidRuntime(6083): com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251) で
07-01 00:41:37.932: E/AndroidRuntime(6083): android.app.Activity.setContentView(Activity.java:1835) で
07-01 00:41:37.932: E/AndroidRuntime(6083): com.app.tipcalculator.TipListActivity.onCreate (TipListActivity.java:28) で
07-01 00:41:37.932: E/AndroidRuntime(6083): android.app.Activity.performCreate(Activity.java:4465) で
07-01 00:41:37.932: E/AndroidRuntime (6083): android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1049) で
07-01 00:41:37.932: E/AndroidRuntime(6083): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) で
07-01 00:41:37.932: E/AndroidRuntime(6083): ... 11 07-01 00:41:37.932: E/AndroidRuntime(6083): 原因: android.support.v4.app.Fragment$ InstantiationException: フラグメントをインスタンス化できません。TipListFragment: クラス名が存在し、パブリックであり、パブリックである空のコンストラクターがあることを確認してください
07-01 00:41:37.932: E/AndroidRuntime(6083): android.support.v4.app.Fragment.instantiate(Fragment.java:391) で
07-01 00:41:37.932: E/AndroidRuntime(6083): android.support.v4.app.Fragment.instantiate(Fragment.java:359) で
07-01 00:41:37.932: E/AndroidRuntime(6083): android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:262) で
07-01 00:41:37.932: E/AndroidRuntime(6083): android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:669) で
07-01 00:41:37.932: E/AndroidRuntime(6083): ... 21 07-01 00:41:37.932: E/AndroidRuntime(6083): 原因: java.lang.ClassNotFoundException: .TipListFragment
07-01 00:41:37.932: E/AndroidRuntime (6083): dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:61) で
07-01 00:41:37.932: E/AndroidRuntime(6083): java.lang.ClassLoader.loadClass(ClassLoader.java:501) で
07-01 00:41:37.932: E/AndroidRuntime(6083): java.lang.ClassLoader.loadClass(ClassLoader.java:461) で
07-01 00:41:37.932: E/AndroidRuntime(6083): android.support.v4.app.Fragment.instantiate(Fragment.java:381) で
07-01 00:41:37.932: E/AndroidRuntime(6083): ... 24 以上
android - ListFragment のカスタム ArrayAdapter
ArrayAdapter
に使用するカスタムを作成しようとしていListFragment
ます。現在、何の Fragment 番号であるかということListFragment
を除いて、何も表示されていません。アダプタのメソッドにTextView
ブレークポイントを設定しましたが、呼び出されていません。getView()
呼び出されない理由を検索したところ、私の ListView が非表示になっていると思われる人もいるようなので、 を に変更してみましたlayout_height
がwrap_content
、うまくいきませんでした。
また、この開発者のページのコードに従っています: http://developer.android.com/reference/android/support/v4/app/FragmentPagerAdapter.html
リストフラグメント:
アレイアダプター:
fragment_pager_list.xml:
以前にカスタム ArrayAdapter を問題なく作成したことがあるのですが、それらを ListFragment で動作させるために何か不足していることはありますか?
android - AndroidListFragmentの重複エントリ
ActionBarFragmentインターフェイスを実装するこのアプリケーションがあります。インターフェイスの基礎には、別のタブに切り替えるたびにリスト内のエントリが複製され続けるListFragmentが1つあります。カスタムアダプタを使用してリストフラグメントを実装する正しい方法を誰かに教えてもらえますか?
以下は私のコードです:FeaturedFragment.java
FeaturesListAdapter:
[編集]次のコードは@10sの提案に基づいて変更されています。しかし、結果は同じです。
android - ListFragmentでアクティブ化されたアイテムの背景
デフォルトのレイアウトのListFragmentがあり、setItemCheckedを使用してアイテムをチェックしています。HoneycombとICSでは、simple_list_item_activated_1
レイアウトを使用しているため、チェックされた行に背景色が自動的に適用されます。HoneyComb以前のデバイスで同じ効果を得るにはどうすればよいですか?また、古いプラットフォームでは利用できませstate_activated
ん。activatedBackgroundIndicator