私のAndroidアプリケーションでは、次のシナリオを解決したいと思います。
class Login extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LayoutBuilder objLB=new LayoutBuilder(this);
objLB.createSpinner();
}
public void spinnerItemSelectedEvent(AdapterView<?> parent, View view,
int pos, long id)
{
}
}
class LayoutBuilder {
private Activity objActivity;
public LayoutBuilder(Activity a) {
objActivity = a;
}
public void createSpinner() {
final Spinner objSPItem = new Spinner(objActivity);
objSPItem.setOnItemSelectedListener(
new Spinner.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id)
{
// Do some common activity
objActivity.spinnerItemSelectedEvent(parent,view,pos,id);
// calling this for do some additional task
}
public void onNothingSelected(AdapterView<?> arg0) {}
});
objActivity.spinnerItemSelectedEvent()
}
}
問題は、createSpinnerメソッド内の「onItemSelected」リストナーからspinnerItemSelectedEvent(parent、view、pos、id)にアクセスしようとすると、次のエラーが発生することです。
メソッドspinnerItemSelectedListener(AdapterView、View、int、long)は、タイプActivityに対して未定義です。
ただし、listnerの外部では、メソッドへのアクセスは正常に機能します(パラメーターリストは無視してください)。その背後にある理由は何ですか?これを解決するための代替方法はありますか?plzヘルプ