AppTools.java で HttpGet を接続するために使用するメソッドがあります。
public class AppTools extends Activity {
public void connectToServerWithURL(String URL)
throws ClientProtocolException, IOException, JSONException {
/* Start connect */
new Thread() {
client = new DefaultHttpClient();
request = new HttpGet(URL);
response = client.execute(request);
reader = new BufferedReader(new InputStreamReader(response.getEntity()
.getContent()));
builder = new StringBuilder();
for (String s = reader.readLine(); s != null; s = reader.readLine()) {
builder.append(s);
}
if (builder != null) {
/* Transfer to JSONArray */
jsonTransfer = new JSONObject(builder.toString());
systemConfigJSONArray = jsonTransfer.getJSONArray(config);
runOnUiThread(performResult);
}
}.start();
}
private Runnable performResult = new Runnable() {
public void run() {
closeProgressDialog();
performResult(systemConfigJSONArray);
}
};
/** Connect complete, interface for Override **/
public void performResult(JSONArray resultArray) {
}
そして、別のアクティビティには AppTools が拡張されています。
public class A extends AppTools {
アクティビティ A には、接続する URL を選択するための AlertDialog の使用があります。
new AlertDialog.Builder(this).setView(aLayout)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
/* Set command */
if (spinner_options.getSelectedItemPosition() == 0) {
connectToServerWithURL("http://...");
} else if (spinner_options
.getSelectedItemPosition() == 1) {
connectToServerWithURL("http://...");
}
}
}).setNegativeButton("Cancel", null).show();
の aLayout に.setView(aLayout)
はスピナーがあるため、setPositiveButton の onClick インターフェイス
スピナーの選択された位置を取得し、メソッドを実行します
しかし、コードは機能しません。LogCat は AlertController$ButtonHandler エラーを示します
何が問題ですか?