スピナーからAsyncTaskを呼び出そうとしています(選択したオプションに応じて何かを送信します)が、AsyncTaskクラスにあるメソッドで問題が発生し、正しく実行できません。
次のエラーメッセージが表示されます。
Conexion型のメソッドsetOnResultsListener(OnTaskCompleted)は、引数には適用できません(new AdapterView.OnItemSelectedListener(){})
スピナーからAsyncTaskを呼び出そうとしています(選択したオプションに応じて何かを送信します)が、AsyncTaskクラスにあるメソッドで問題が発生し、正しく実行できません。
次のエラーメッセージが表示されます。
Conexion型のメソッドsetOnResultsListener(OnTaskCompleted)は、引数には適用できません(new AdapterView.OnItemSelectedListener(){})
やってみました、
TextView item_clicked = (TextView) v;
String item_name = item_clicked.getText().toString();
new Connection().execute(item_name);
これにより、スピナーデータがAsyncTaskに渡されます。onItemSelectedメソッドに含める必要があります。
AsyncTaskクラスで、これを変更します
public void setOnResultsListener(OnTaskCompleted listener) {
this.listener = listener;
}
これに:
public Conexion(OnTaskCompleted listener) {
this.listener = listener;
}
そして、MainActivityで、これを変更します
Conexion conexion = new Conexion();
conexion.setOnResultsListener(this);
conexion.execute("tipo");
これに:
new Conexion(MainActivity.this).execute("tipo");
これを試して
conexion.setOnResultsListener(MainActivity.this);