1

「temp」という名前のプロジェクトがあり、いくつかのクラスとそのメソッドを実装しています。

次に、「temp2」という別のプロジェクトを作成し、そこで実装したクラスを使用するためにライブラリ「temp」を含めました。

ここで、「temp」プロジェクトでクラスを作成した場合:

private SwipeListView swipeListView;   // SwipeListView  is a class declared in "temp2" project
private MyCustomAdapter adapter;   // class MyCustomAdapter is a class in "temp" project


swipeListView = (SwipeListView) findViewById(R.id.example_lv_list);
adapter =new MyCustomAdapter(text,listImages);  

swipeListView.setListenerAdaper(adapter);

adapter.someMethod();   //doesnt give me a nullpointerException

クラスSwipeListViewで私はメソッドを宣言しsetListenerAdaper(BaseAdpter)useAdapter()

private BaseAdapter listAdapter;

public void setListenerAdaper(BaseAdapter baseAdapter) {
    listAdapter = baseAdapter;
}

public void tempmethod() {
    useAdapter();
}

public void useAdapter() {
   listAdapter.someMethod();  //NullPointerException
}

listAdapterクラスで変数を使用したいのですがSwipeListView、でアダプターのメソッドを呼び出したいときはいつでもSwipeListViewNullPonterException

4

2 に答える 2

0

変数が他のクラスにある場合:

  1. 他のクラスをインポートする
  2. それらをクラスパスに配置します

クラスパスの設定方法:

システム内のJARファイルの物理的な場所に応じて、[プロジェクト]->[プロパティ]->[Javaビルドパス]->(ここでは[JARの追加]または[外部JARの追加]のいずれかを使用できます)をクリックします。

于 2013-03-23T15:33:25.390 に答える
0

他のプロジェクトから何かをインポートする必要がある場合は、より良いアーキテクチャを検討する必要があると思います。

これを実現するには、他のプロジェクトのjarを作成し、その変数をクラスとパブリック変数にして、最後に使用するクラスからインポートする必要があります。

ただし、前述したように、いくつかのプロジェクトで使用されるすべてのクラスを含むライブラリを作成するには、アーキテクチャを確認する必要があります。

于 2013-03-23T15:45:21.020 に答える