-2
アプリケーション用のJSONを取得できるアプリケーションのセクションを作成しようとしていますが、最終的にListViewに追加します。しかし、私はちょうどJSONボタンをクリックするとJSONのphpファイルが表示されるようになっています。ClickメソッドのgetJSONでエラーが発生しました
以下は私getJSONボタンをクリックしたときに、私は取得していますエラーで、
UPDATED ERRORログとJAVA CLASS以下
09-07 12:36:00.403 29439-29439/com.example.aids.a09application E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.aids.a09application, PID: 29439
java.lang.IllegalStateException: Could not find method getJSON(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton with id 'buttonjson'
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:327)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284)
at android.view.View.performClick(View.java:6213)
at android.widget.TextView.performClick(TextView.java:11074)
at android.view.View$PerformClick.run(View.java:23645)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6692)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
は私のXMLコード
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="250dp"
android:layout_height="wrap_content"
android:text="Get JSON"
android:layout_gravity="center_horizontal"
android:onClick="getJSON"
android:id="@+id/buttonjson"/>
<Button
android:layout_width="250dp"
android:layout_height="wrap_content"
android:text="Parse JSON"
android:layout_gravity="center_horizontal"
android:id="@+id/buttonparsejson"
android:layout_marginTop="20dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="JSON Appears Below"
android:textAppearance="?android:textAppearanceLarge"
android:gravity="center"
android:layout_marginTop="20dp"
android:id="@+id/jsonTextView"/>
</LinearLayout>
です私のクラスのコードは以下の通りです:
public class StandingsList extends Fragment {
String JSON_STRING;
TextView textView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_standings, container, false);
textView = (TextView) view.findViewById(R.id.jsonTextView);
return view;
}
public void getJSON(View v) {
new BackgroundTask().execute();
}
class BackgroundTask extends AsyncTask<String, Void, String> {
String json_url;
@Override
protected void onPreExecute() {
json_url = "http://163.172.142.145/get_info.php";
}
@Override
protected String doInBackground(String... params) {
try {
URL url = new URL(json_url);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder = new StringBuilder();
while ((JSON_STRING = bufferedReader.readLine()) != null) {
stringBuilder.append(JSON_STRING + "\n");
}
inputStream.close();
bufferedReader.close();
httpURLConnection.disconnect();
return stringBuilder.toString().trim();
} catch (MalformedURLException e) {
Log.e(TAG, "MalformedURLException: " + e); //print exception message to log
} catch (IOException e) {
Log.e(TAG, "IOException: " + e); //print exception message to log
}
return null;
}
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String result) {
textView.setText(result);
JSON_STRING = result;
}
}
}
が欠落しているものは非常に明確であることがわかりますViewパラメーター
を受けるべきです。私はgetJSON(ビューv)を追加しました。コードが更新されました – user8534232
何が表示されていますか? – drac94
java.lang.IllegalStateException:親または祖先でメソッドgetJSON(View)を見つけることができませんでした。android:onClick属性のコンテキスト、ビュークラスで定義されていますandroid.support.v7.widget.AppCompatButton id 'buttonjson' – user8534232