Я пытаюсь загрузить данные в таблицу по отдельному фрагменту.У меня есть данные в текстовом файле, затем они преобразуются в массивы, они работают, но я не могу заставить их работать, когда пытаюсь заставить их работать при запуске.Я думаю, что моя проблема, когда я вызываю метод loadData, но я могу ошибаться.Я вызываю его внутри MainActivity.
Я получаю ошибку:
java.lang.NullPointerException: попытка вызвать виртуальный метод void android.widget.TableLayout.addView (android.view.View) 'для нулевой ссылки на объект
Вот мой метод загрузки данных:
public void loadData() {
//Accounts
File path = Environment.getExternalStorageDirectory();
File myExternalFile = new File(path.getAbsolutePath() + "/App_Folder/", "accounts.txt");
try {
FileInputStream fis = new FileInputStream(myExternalFile);
DataInputStream in = new DataInputStream(fis);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null) {
accounts.add(strLine);
}
br.close();
in.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
for (int i = 0; i < accounts.size(); i++) {
String[] splitArray = accounts.get(i).split("//");
String accountNameText = splitArray[0];
String amountSavedText = splitArray[1];
String goalText = splitArray[2];
String percentText = splitArray[3];
// get a reference for the TableLayout
TableLayout table = (TableLayout) findViewById(R.id.accountTable);
// create a new TableRow
TableRow row = new TableRow(this);
TextView accountName = new TextView(this);
accountName.setText(accountNameText);
TextView amountSaved = new TextView(this);
amountSaved.setText(amountSavedText);
TextView accountGoal = new TextView(this);
accountGoal.setText(goalText);
TextView accountPercent = new TextView(this);
accountPercent.setText(percentText);
row.addView(accountName);
row.addView(amountSaved);
row.addView(accountGoal);
row.addView(accountPercent);
table.addView(row);
}
}