0

私はそれが簡単な解決策だと思う問題を抱えていますが、私はそれを理解できません...

リストビューと検索フィールドを含むアクティビティがあり、アイテムをクリックすると、クリックされたものに関連するコンテンツを含む新しいビューが読み込まれます...

とにかく、すべてうまくいきましたが、検索フィールドを追加したので、もう機能しません...

私は問題を理解しましたが、何に置き換えるべきか理解できません...

lv.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View view,
          int position, long id) {

          // selected item
          String product = ((TextView) view).getText().toString(); //PROBLEM

          // Launching new Activity on selecting single List Item
          Intent i = new Intent(getApplicationContext(), BotafogoSingleListItem.class);
          // sending data to new activity
          i.putExtra("product", product);
          startActivity(i);

      }
    });

この人String product = ((TextView) view).getText().toString();が問題..

デバッグ パネルを見ると、次のようになります。 java.lang.ClassCastException: android.widget.LinearLayout を android.widget.TextView にキャストできません

この行は、内部にある TextView ではなく Linear Layout を取得していると思いますか?

4

1 に答える 1

1

OnItemClickviewパラメータは、リスト アイテム全体のビューです。この場合、list_item ごとに 1 つの TextView を使用することから、カスタム LinearLayout (TextView が含まれていると仮定します) を使用するように移行したようです。

この場合、製品ラインを次のように置き換えます。

String product = ((TextView) view.findById(R.id.your_text_view)).
    getText().toString();

your_text_view は、TextView に関連付けられた android:id です。

于 2013-03-08T23:34:33.570 に答える