オンライン xml フィードを解析するアプリを作成しています。フラグメントとタブを使用しました。
以下はコードです
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.listview_file, container, false);
allPress_listView = (ListView) v.findViewById(R.id.listView_for_all);
progressBar=(ProgressBar)v.findViewById(R.id.progress_bar);
return v;
/* return inflater.inflate(R.layout.afragment, container, false);
listView=(ListView)fi*/
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
/* ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1,Cheese );
listView.setAdapter(adapter);*/
progressBar.setVisibility(View.VISIBLE);
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try
{
//Thread.sleep(5000);
new DoSomeTask().execute();
}catch(Exception e){}
// myPd_ring.dismiss();
}
}).start();
}
問題は、Android バージョン 4.1.2 の Samsung Galaxy Mini でアプリを実行すると、クラッシュせずに実行されますが、それ以前のバージョンでアプリを実行するとクラッシュします。以下はエラーです。
E/AndroidRuntime(13631): FATAL EXCEPTION: Thread-164034
E/AndroidRuntime(13631): java.lang.ExceptionInInitializerError
E/AndroidRuntime(13631): at com.sl.sx.APR$1.run(AllReleases.java:74)
E/AndroidRuntime(13631): at java.lang.Thread.run(Thread.java:864)
E/AndroidRuntime(13631): Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
E/AndroidRuntime(13631): at android.os.Handler.<init>(Handler.java:121)
E/AndroidRuntime(13631): at android.os.AsyncTask$InternalHandler.<init>(AsyncTask.java:607)
E/AndroidRuntime(13631): at android.os.AsyncTask$InternalHandler.<init>(AsyncTask.java:607)
E/AndroidRuntime(13631): at android.os.AsyncTask.<clinit>(AsyncTask.java:190)
E/AndroidRuntime(13631): ... 2 more