以前のスレッドに続いて、リンクリストを作成し、それらを複数のアクティビティで永続化することについて疑問に思っていました。これを行うためにアプリケーション クラスを拡張することが提案されたので、調べることにしました。
私はそれ以来、私がそれを台無しにしていないと仮定して、これを行いました.アプリは、メインアクティビティで使用することを望んでいたいくつかのサンプルデータをリンクリストに入力する必要があります. しかし、データにアクセスできないようで、少し困惑しています。
Android開発を始めたばかりなので、ばかげた質問で申し訳ありません。とにかく、ここに私がこれまで持っているものがあります。
拡張クラスGlobalData
package com.example.employeeList;
import java.util.LinkedList;
import android.app.Application;
import android.widget.Toast;
import com.example.employeeList.Employee;
public class GlobalData extends Application {
public LinkedList<Employee> EmployeeList;
@Override
public void onCreate(){
super.onCreate();
createEmployeeLinkedList();
}
public void createEmployeeLinkedList(){
// create a linked list
Employee emp1 = new Employee("John");
Employee emp2 = new Employee("Bob");
Employee emp3 = new Employee("Fred");
LinkedList<Employee> EmployeeList = new LinkedList<Employee>();
EmployeeList.add(emp1);
EmployeeList.add(emp2);
EmployeeList.add(emp3);
// The following code works, used for testing to see if linklist was actually being created.
// Employee boo = newEmployee();
// Employee boo = EmployeeList.getFirst();
// Toast.makeText(getApplicationContext(), "("+boo.name+")" ,Toast.LENGTH_LONG).show();
}
}
従業員クラス
package com.example.employeeList;
import android.app.Application;
public class Employee extends Application{
public String name;
public Employee(String name) {
this.name = name;
}
}
MainActivityクラス
package com.example.employeeList;
import android.os.Bundle;
import android.app.Activity;
import android.widget.TextView;
import android.widget.Toast;
import com.example.employeeList.Employee;
public class MainActivity extends Activity {
protected GlobalData globalData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Get the application instance
globalData = (GlobalData)getApplication();
//Would have thought I could just do this but apparently not.
Employee boo = globalData.EmployeeList.getFirst();
Toast.makeText(getApplicationContext(), "("+boo.name+")" ,Toast.LENGTH_LONG).show();
}
}
問題のある行は次のように見えます
Employee boo = globalData.EmployeeList.getFirst();
Toast.makeText(getApplicationContext(), "("+boo.name+")" ,Toast.LENGTH_LONG).show();
何か案は?