0

私のアプリには、リストと通常のアクティビティの両方で使用できるようにしたい共通のメソッドと属性があります。継承を使用して、両方のタイプのアクティビティに拡張する親クラスを作成したいと思います。親クラスにリストアクティビティを拡張させると、通常のアクティビティで例外が発生します。

java.lang.RuntimeException:コンテンツには、id属性が「android.R.id.list」であるListViewが必要です。

逆に、この親クラスを拡張するクラスが必要なリスト機能はありません。

listactivityとactivityを拡張する2つの異なるクラスに同じメソッドをコピーせずに、これを実現するにはどうすればよいですか?

ありがとう!

4

2 に答える 2

0

レイアウト内にビューとしてListViewを設定するために、ListActivityを設定する必要はありません。

これに基づいて、Activityを拡張するBaseActivityを作成し、そこにすべてのメソッドと属性を追加できます。

その後、すべてのアクティビティでこのBaseActivityを拡張できます。

お役に立てれば!

于 2012-04-13T21:15:41.657 に答える
0

ListViewを使用する最も簡単な方法を探しているのでない限り、ListActivityを使用する必要はありません。

私がこれに取り組む方法は、私が必要とする活動と、それらすべて、そして一部だけ、そしてextendそれに応じて必要な機能をグラフ化することです。

たとえば、スーパーベースのアクティビティを作成できますBaseActivity。これには、セットアップ、分解、およびすべての子アクティビティに必要なその他の機能を含めることができます。そこから、そのようなものBaseListActivityを拡張BaseActivityし、必要なものすべてを処理しBaseActivity、ListViewsの機能を追加することができます。

Activity > BaseActivity > BaseListActivity > MyListActivity
Activity > BaseActivity > MyPlainActivity

これは、カーソルとリストビューを管理するために私が取り組んできたいくつかのクラスのビデオです。

ManagedActivityクラス-YouTube

于 2012-04-13T21:15:51.523 に答える