0

JSONを使用してインターネットのphpファイルからデータを取得しようとしています。通常のクラスでは機能しますが、フラグメントを使用すると機能しません。

      public static class MagFragment extends Fragment {
    public static final String ARG_MAGAZINE_NUMBER = "magazine_number";

    public MagFragment() {
        // Empty constructor required for fragment subclasses
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_main, container, false);
        if(i != 0){
            rootView = inflater.inflate(R.layout.fragment_magazine, container, false);
            TextView magText = (TextView) rootView.findViewById(R.id.textViewMag);
            try {

                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost("http://csddata.site11.com");
                HttpResponse response = httpclient.execute(httppost);

                HttpEntity httpEntity = response.getEntity();
                InputStream inputstream = httpEntity.getContent();
                try{

                    BufferedReader reader = new BufferedReader(new InputStreamReader(inputstream,"iso-8859-1"),8);
                    magText.setText(reader.readLine());

                }catch (Exception e){
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }


            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 
        }

        return rootView;
    }
}

それは通常のクラスで機能するので、フラグメントだからであるに違いありません。

エラーをコピーして貼り付ける手がかりがありません...しかし、エラーが発生した行を示した唯一のエラーは、「HttpResponse response = httpclient.execute(httppost);」でした。ライン!

4

2 に答える 2

-7

その理由を突き止めました。Android SDK 11 は例外を介してネットワーク操作がスレッドで行われるため、ターゲット SDK を削除することで機能します。

于 2013-05-22T12:43:51.627 に答える