2015-05-03 4 views
1

Это сообщение об ошибке, которое появляется при запуске apk на моем виртуальном устройстве.Android Studio не найден Resuorces

05-03 13:00:03.652 2354-2354/de.hochrad.hochradapp I/art﹕ Not late-enabling -Xcheck:jni (already on) 
05-03 13:00:05.966 2354-2354/de.hochrad.hochradapp D/AndroidRuntime﹕ Shutting down VM 
05-03 13:00:05.970 2354-2354/de.hochrad.hochradapp E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: de.hochrad.hochradapp, PID: 2354 
java.lang.RuntimeException: Unable to start activity ComponentInfo{de.hochrad.hochradapp/de.hochrad.hochradapp.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 
     at android.app.ActivityThread.access$800(ActivityThread.java:144) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5221) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference 
     at android.widget.Toast.<init>(Toast.java:101) 
     at android.widget.Toast.makeText(Toast.java:250) 
     at de.hochrad.hochradapp.MainActivity.onCreate(MainActivity.java:26) 
     at android.app.Activity.performCreate(Activity.java:5937) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 
        at android.app.ActivityThread.access$800(ActivityThread.java:144) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:135) 
        at android.app.ActivityThread.main(ActivityThread.java:5221) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:372) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
05-03 13:00:08.238 2354-2354/de.hochrad.hochradapp I/Process﹕ Sending signal. PID: 2354 SIG: 9 

Как-то он не может найти требуемые ресурсы.

Надеюсь, вы можете мне помочь !!! Thx для всех ответов !!!

package de.hochrad.hochradapp; 
import android.os.Bundle; 
import android.support.v7.app.ActionBarActivity; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.Spinner; 
import android.widget.Toast; 


public class MainActivity extends ActionBarActivity { 

ArrayAdapter<String> klassen_adapter; 
Vertretungsplan vertretungsplan; 
Spinner klassen; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    Toast.makeText(null, "Laden...", Toast.LENGTH_SHORT).show(); 
    klassen_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 



    klassen = (Spinner) findViewById(R.id.klassenspinner); 

    Thread downloadThread = new Thread() { 
     public void run() { 
      vertretungsplan = new Vertretungsplan("1"); 

      runOnUiThread(new Runnable() { 
       @Override 
       public void run() { 
        if (vertretungsplan.Ex != null) { 
         klassen_adapter.add("Fehler!"); 
        } else { 
         klassen_adapter.add("Wähle deine Klasse!"); 
         for (Klassenvertretung s : vertretungsplan.Klassen) { 
          klassen_adapter.add(s.Bezeichnung); 
         } 
        } 
       } 
      }); 
     } 
    }; 
    downloadThread.start(); 

    klassen.setAdapter(klassen_adapter); 
    klassen.setSelection(0); 
    klassen.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 


     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      Toast.makeText(parent.getContext(), 
        "Deine Auswahl ist:" + parent.getItemAtPosition(position).toString(), Toast.LENGTH_SHORT).show(); 

     } 


     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    }); 

} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

}

package de.hochrad.hochradapp; 

    import java.util.ArrayList; 
    import java.util.List; 

public class Klassenvertretung { 
public String Bezeichnung; 

public List<Vertretung> Vertretungen = new ArrayList<Vertretung>(); 

public void Hinzufügen(Vertretung neuesElement) { 
    Vertretungen.add(neuesElement); 
} 
} 


package de.hochrad.hochradapp; 

public class Vertretung { 
public String Klasse; 
public String Stunde; 
public String Art; 
public String Fach; 
public String Raum; 
public String stattFach; 
public String stattRaum; 
public String Informationen; 
} 

package de.hochrad.hochradapp; 

import org.jsoup.Connection; 
import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 

import java.io.IOException; 
import java.util.ArrayList; 
import java.util.List; 

public class Vertretungsplan { 

public Vertretungsplan(String woche) { 
    Woche = woche; 
    Einlesen(woche); 
} 

public String Woche; 
public Exception Ex; 

public List<Klassenvertretung> Klassen = new ArrayList<Klassenvertretung>(); 

private void Hinzufügen(Klassenvertretung neuesElement) { 
    Klassen.add(neuesElement); 
} 

private void Einlesen(String woche) { 
    try { 
     for (int webseite = 1; webseite < 10000; webseite++) { 
      Klassenvertretung klassenvertretung = new Klassenvertretung(); 

      String teilseite = "0000"; 
      if (webseite < 10) 
       teilseite = teilseite + "0"; 
      teilseite = teilseite + webseite; 

      Connection connection = Jsoup 
        .connect("www.gymnasium-hochrad.de/Vertretungsplan/Vertretungsplan_Internet/" 
          + woche + "/w/w" + teilseite + ".htm"); 
      Document doc = connection.get(); 
      Element h2 = doc.select("h2").get(0); 
      klassenvertretung.Bezeichnung = h2.text(); 

      Element table = doc.select("table").get(1); 
      Element[] elemente = table.select("tr").toArray(new Element[0]); 
      for (int i = 1; i < elemente.length; i++) { 
       Element[] tds = elemente[i].select("td").toArray(
         new Element[0]); 

       Vertretung vertretung = new Vertretung(); 
       vertretung.Klasse = tds[0].text(); 
       vertretung.Stunde = tds[1].text(); 
       vertretung.Art = tds[2].text(); 
       vertretung.Fach = tds[3].text(); 
       vertretung.Raum = tds[4].text(); 
       vertretung.stattFach = tds[5].text(); 
       vertretung.stattRaum = tds[6].text(); 
       vertretung.Informationen = tds[7].text(); 
       klassenvertretung.Hinzufügen(vertretung); 
      } 

      Hinzufügen(klassenvertretung); 
     } 
    } catch (IOException io) { 
     if (Klassen.size() == 0) { 
      Ex = io; 
     } 
    } finally { 
    } 
} 
} 

хорошо вот мой код. Я образую германия и так много имен являются немецкими (я надеюсь, что это еще не проблема.

Может быть, это помогает.

Я предполагаю, что ошибка должна быть в основной деятельности в одном из тостов. Но не стесняйтесь смотреть на других линиях.

+0

где ваш код ??? опубликуйте его –

+0

отправьте код. – meysam

+0

Поместите код. Что вы подразумеваете под «любыми ресурсами»? – Ryan

ответ

0

Вы не инициализирован адаптер, а именно «klassen_adapter» в своей основной деятельности. это утратившим вызвать любой метод на нем будет исключение нулевого указателя

+0

Подождите, пока OP не предоставит правильный код ... –

+0

там вы:) –

+0

Отредактировав ответ, просто попробуйте, ваша проблема будет решена. –

1

A/c to logcat error your are getting null reference error. try to update this line

Toast.makeText(parent.getContext(), 
       "Deine Auswahl ist:" + parent.getItemAtPosition(position).toString(), Toast.LENGTH_SHORT).show(); 

with the following code

Toast.makeText(MainActivity.this, 
       "Deine Auswahl ist:" + parent.getItemAtPosition(position).toString(), Toast.LENGTH_SHORT).show(); 
+0

Снова я получил ошибку: Вызвано: java.lang.NullPointerException: попытка вызвать виртуальный метод 'android.content.res.Resources android.content.Context.getResources()' для ссылки на нулевой объект –

Смежные вопросы