1. ホーム

ArrayAdapter がリソース ID に TextView を要求する問題を解決する方法

2022-02-10 14:26:43

今日、私はこのような問題に遭遇し、高い長い間、インターネット検索に、それを取得していない、多くの人々がそのような質問をしている発見、今自分の非常に結果の分析を解決することは以下に配置されます。

arrayadapter()クラスには複数のコンストラクタがあるので、ここでそれらをリストアップして表すことにします。

public ArrayAdapter(Context context ,int textViewResourceId ,List<T> objects)
Constructor

パラメータです。

context ----" The current context 
textViewResourceId ---->the resource ID for a layout file contain a TextView to use when instantiating views.
List<T> objects ---> the objects to represent in the ListView

  最初のパラメータは自明で、コンテクスト

2番目のパラメータは、このコンストラクタでレイアウトがロードされたときに、レイアウトのIDがTextViewでなければならないことを意味します。要するに、システム独自のandroid.R.layout.xxxを使用するか、TextViewのみを含むカスタムのものを使用して、ListViewの各選択項目のスタイルにしなければならないということです。

3番目のパラメータは、言うまでもありません。

そこで、この問題を解決するために、main.xmlを次のように変更する必要があります。

<?xml version="1.0" encoding="utf-8"? >



<TextViewxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"



android:layout_height="wrap_content" />






なぜなら、ルートノードはTextViewでなければならず、そうでない場合は"を投げてしまうからです。 ArrayAdapter requires the resource ID to be a TextView "。

<テーブル <フォーム <入力 <入力 <入力 <入力 <フォーム <入力
  • <ラベル anjoyoの投稿 (0) <入力
<入力