私はこれらの他の質問をここで学ぼうとしましたが、私はそれにぶつかっていないので、私は自分で尋ねることにしました。 私はビューを変更するために(Android標準のサイドバーのアクティビティテンプレートを使用して)異なるフラグメントを持つメインアクティビティを取得しました。そこからユーザは、値を返す別のAcitivtyを介してTasksを作成します。メインアクティビティでは、タスクはSQLiteデータベースに格納されます。これまでのところ動作します。リストからデータベースにアクセスしてリストに表示する
私は、対応するレイアウトTaskList_main.xmlを持つFragment TaskListを持っています。このXMLファイルでは、データベースから値を入力したい単純なListViewを取得しました。私の問題は、そのメソッドを書く場所といつアクセスするのかです。この方法は、
public void showAllListEntries() {
List<TaskData> TaskList = datasource.getAllTasks();
//Daten werden im ArrayAdapter gespeichert
ArrayAdapter<TaskData> TaskListArrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, TaskList);
ListView TaskDataListView = (ListView) findViewById(R.id.TaskListView);
TaskDataListView.setAdapter(TaskListArrayAdapter);
}
マイ・フラグメントは、あなたが好きなら、私はまた、メインのアクティビティを送ることができます
public class TaskList extends Fragment {
View view;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.activity_main_tasklist, container, false);
return view;
}
}
このATMのような空であるだろうが、それは
だから、誰かがどのように私に言うことができる厄介なビットです私はこれがうまくいくのですか?そして私は私の問題をはっきりと説明しましたか?
私のAndroidはちょっと錆びますが、正しく理解すれば、 'showAllListEntries()'メソッドを置く最も論理的な場所は 'TaskList'フラグメントになります... – BadCash
idはそこに私のデータソースを作成する必要があります、これまでのところprobはありませんが、フラグメントからのリストビューへの参照を取得できませんフラグメントは "findViewById"メソッドを知らない –
'onViewCreated'の' ListView'への参照を取得できます - https: //stackoverflow.com/questions/6495898/findviewbyid-in-fragment。データソースに関しては、あなたの 'Activity'から' Fragment'への参照を渡すか、シングルトンを使うことができます。 – BadCash