1

I'm learning the Udacity course of Developing Android Apps. While going through the instructions I came across this error. I would appreciate any help that would help me solve it.

I may have the same errors as other users however the code that's causing it might be different. Thanks for your patience

I have attached the logcat. <------------------->

06-06 22:31:47.223: E/AndroidRuntime(28358): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.sunshine.app/com.example.android.sunshine.app.MainActivity}: android.view.InflateException: Binary XML file line #1: Error inflating class fragment 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2329) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.app.ActivityThread.access$900(ActivityThread.java:147) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.os.Handler.dispatchMessage(Handler.java:102) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.os.Looper.loop(Looper.java:135) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.app.ActivityThread.main(ActivityThread.java:5254) 06-06 22:31:47.223: E/AndroidRuntime(28358): at java.lang.reflect.Method.invoke(Native Method) 06-06 22:31:47.223: E/AndroidRuntime(28358): at java.lang.reflect.Method.invoke(Method.java:372) 06-06 22:31:47.223: E/AndroidRuntime(28358): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898) 06-06 22:31:47.223: E/AndroidRuntime(28358): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693) 06-06 22:31:47.223: E/AndroidRuntime(28358): Caused by: android.view.InflateException: Binary XML file line #1: Error inflating class fragment 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.view.LayoutInflater.inflate(LayoutInflater.java:482) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:249) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106) 06-06 22:31:47.223: E/AndroidRuntime(28358): at com.example.android.sunshine.app.MainActivity.onCreate(MainActivity.java:14) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.app.Activity.performCreate(Activity.java:5933) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2282) 06-06 22:31:47.223: E/AndroidRuntime(28358): ... 10 more 06-06 22:31:47.223: E/AndroidRuntime(28358): Caused by: android.os.NetworkOnMainThreadException 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147) 06-06 22:31:47.223: E/AndroidRuntime(28358): at java.net.InetAddress.lookupHostByName(InetAddress.java:418) 06-06 22:31:47.223: E/AndroidRuntime(28358): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252) 06-06 22:31:47.223: E/AndroidRuntime(28358): at java.net.InetAddress.getAllByName(InetAddress.java:215) 06-06 22:31:47.223: E/AndroidRuntime(28358): at com.android.okhttp.HostResolver$1.getAllByName(HostResolver.java:29) 06-06 22:31:47.223: E/AndroidRuntime(28358): at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:232) 06-06 22:31:47.223: E/AndroidRuntime(28358): at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:124) 06-06 22:31:47.223: E/AndroidRuntime(28358): at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:272) 06-06 22:31:47.223: E/AndroidRuntime(28358): at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:211) 06-06 22:31:47.223: E/AndroidRuntime(28358): at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:373) 06-06 22:31:47.223: E/AndroidRuntime(28358): at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:106) 06-06 22:31:47.223: E/AndroidRuntime(28358): at com.example.android.sunshine.app.MainActivityFragment.onCreateView(MainActivityFragment.java:98) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1789) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:924) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1116) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1218) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2170) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:300) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.support.v7.app.AppCompatDelegateImplV7.callActivityOnCreateView(AppCompatDelegateImplV7.java:838) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.support.v7.app.AppCompatDelegateImplV11.callActivityOnCreateView(AppCompatDelegateImplV11.java:34) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:826) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 06-06 22:31:47.223: E/AndroidRuntime(28358): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725) 06-06 22:31:47.223: E/AndroidRuntime(28358): ... 19 more

<------------------------->

fagment_main.xml is

   <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"      
    android:layout_width="match_parent"
    android:layout_height="match_parent"
     android:paddingLeft="2dp"
     android:paddingRight="0dp"
     android:paddingTop="0dp"
     android:paddingBottom="0dp" tools:context=".MainActivityFragment"
    android:id="@+id/h">

         <ListView
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:id = "@+id/listview_forecast"/>

    </FrameLayout>
Sidd
  • 133
  • 2
  • 8

1 Answers1

0

The culprit is "NetworkOnMainThreadException". You're trying to execute network requests on the main thread. You should make network requests only in background threads.

Dmitry Brant
  • 7,612
  • 2
  • 29
  • 47
  • That's an error also however how should that effect => android.view.InflateException: Binary XML file line #1: Error inflating class fragment. I'm not sure if it does as I'm new to android. – Sidd Jun 06 '15 at 17:34
  • @Sidd, It's possible for one error to cause another. The "NetworkOnMainThreadException" is the underlying error, and is the one you should focus on. – Dmitry Brant Jun 06 '15 at 17:46
  • Thanks a lot. I'll try fixing that error! :D – Sidd Jun 06 '15 at 17:50
  • Most of the people following the udacity tutorial are early beginners, perhaps you could be more specific with your answer? – Parsa Jun 07 '15 at 16:00