1

私はAndroid開発に不慣れで、作成を依頼されたシンプルなリストアプリを持っています。アプリをアクティビティベースとして使用することに問題はありませんが、機能を拡張し、「ユニバーサル」アプリのフラグメントを使用する必要があります。私の主な活動は次のとおりです。

4

3 に答える 3

2

次の手順を実行することで、コードを正常にコンパイルできました。

この行が問題のようです(Main.java内):

contactCursor = contactDBAdapter.getAllContactsCursor();

私はあなたがどのように初期化されるかを見ました、そしてあなたがあなたの活動のためにあなたのcontactDBAdapter後にそれを初期化することがわかりました。setContentViewただし、ビューには。への呼び出しが含まれますcontactDBAdapter。したがって、Main.javaでは、次の2行をonCreateウィンドウの先頭に移動する必要があります。

public void onCreate(Bundle savedInstanceState)
{
    contactDBAdapter = new ContactDBAdapter(this);
    contactDBAdapter.open();

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ....
}

さらに、Main.javaの次の行を削除(またはコメントアウト)する必要があります。

contact.clear();    

また、ListViewの呼び出し方法にさらに2つの変更を加える必要がありました

  1. list_view.xmlで、Android用のListViewを識別する方法は次のとおりです。

    android:id = "@ + id / android:list"

  2. ContactListFragment.javaで、次のようにListViewを呼び出します。

    parent.myListView =(ListView)v.findViewById(android.R.id.list);

于 2013-03-19T21:18:47.093 に答える
0

既存のコードをコピーするだけですべてをセットアップするEclipseテンプレートを使用してみただけではありませんか?

[ファイル]>[新規]>[Androidアプリケーションプロジェクト]で、[アクティビティの作成ステップ]で[ここを参照してください:

于 2013-03-19T21:19:51.470 に答える
0

Fragmentクラスには、空のデフォルトコンストラクターが必要です。Androidリファレンスを参照してください

于 2013-03-20T02:30:46.360 に答える