我有4個具有相同代碼的類,只有一個區別,每個類都有一個不同的文件.txt路徑,並且我拷貝並粘貼了類,只是改變了類名等等和明顯地是文件路徑,但它不起作用。Android Studio錯誤副本和過去的類
工作的唯一路徑與我將其粘貼到其他類的代碼的類相同,如果我將每個類的第一個路徑放在其中,如果我爲每個類放置不同路徑代碼工作將只是我手動編寫代碼的類中的路徑,所以我認爲它可能是Android Studio的複製和粘貼錯誤。如果我使用複製和粘貼,會發生什麼?我錯了還是錯誤?
的錯誤是:java.lang.NullPointerException
這發生,如果我把那個是不一樣的我手動寫的類(顯然是存在的文件)的路徑。
我的代碼:
public class MyMain extends ListActivity {
private String[] menus = new String[12];
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
String name = menus[position];
try {
Class main = Class.forName("com.Package."+name);
Intent intent = new Intent(MyMain.this,main);
startActivity(intent);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
private void ReadPrices() throws IOException,MalformedURLException {
// BufferedReader reader = new BufferedReader(new FileReader("/mnt/sdcard/Gaming_Prices.txt"));
URL url = new URL("http://domain/myfile.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader((url).openStream()));
String line = reader.readLine();
int k = 0;
for(k = 0; k<12; k++) {
menus[k] = line;
line=reader.readLine();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
try {
ReadPrices();
setListAdapter(new ArrayAdapter<String> (MyMain.this,android.R.layout.simple_expandable_list_item_1,menus));
} catch (IOException e) {
e.printStackTrace();
}
}
@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;
}
}
錯誤日誌:
12-24 02:24:48.369 25855-25855/sparkyka.it.pcbuilds E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.NullPointerException
at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:355)
at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
at android.widget.AbsListView.obtainView(AbsListView.java:1609)
at android.widget.ListView.makeAndAddView(ListView.java:1772)
at android.widget.ListView.fillDown(ListView.java:695)
at android.widget.ListView.fillFromTop(ListView.java:752)
at android.widget.ListView.layoutChildren(ListView.java:1623)
at android.widget.AbsListView.onLayout(AbsListView.java:1439)
at android.view.View.layout(View.java:7175)
at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
at android.view.View.layout(View.java:7175)
at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
at android.view.View.layout(View.java:7175)
at android.view.ViewRoot.performTraversals(ViewRoot.java:1144)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1863)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
at dalvik.system.NativeStart.main(Native Method)
我的課都沒有活動,我有一個ListActivity和每個項目有一個類,每類(項)具有不同的文件來加載。清潔項目不解決問題 – ClearCode
@ClearCode,你可以顯示日誌請和部分代碼? – Yurets
@ClearCode,請問需要看日誌和哪一行是空指針?您也可以使用調試模式並在您認爲可能成爲問題的位置切換斷點。 – Yurets