2017-11-27 11 views
0

私はこれらの他の質問をここで学ぼうとしましたが、私はそれにぶつかっていないので、私は自分で尋ねることにしました。 私はビューを変更するために(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のような空であるだろうが、それは

だから、誰かがどのように私に言うことができる厄介なビットです私はこれがうまくいくのですか?そして私は私の問題をはっきりと説明しましたか?

+0

私のAndroidはちょっと錆びますが、正しく理解すれば、 'showAllListEntries()'メソッドを置く最も論理的な場所は 'TaskList'フラグメントになります... – BadCash

+0

idはそこに私のデータソースを作成する必要があります、これまでのところprobはありませんが、フラグメントからのリストビューへの参照を取得できませんフラグメントは "findViewById"メソッドを知らない –

+0

'onViewCreated'の' ListView'への参照を取得できます - https: //stackoverflow.com/questions/6495898/findviewbyid-in-fragment。データソースに関しては、あなたの 'Activity'から' Fragment'への参照を渡すか、シングルトンを使うことができます。 – BadCash

答えて

0

onCreateViewで行うことができます。しかし、asyncコールを作成してタスクを表示し、フラグメントをリスナーとして取得する必要があります。タスクを取得すると、アダプタを作成してListViewにアタッチすることができます。

TaskList_main.xmlにはProgressBarがあります(名前はtask_list_fragment.xmlに変更する必要がありますが、レイアウトの命名規則はないと思われますが、これはかなり使用されています)。

+0

ローダーとは何ですか?それをどのように統合するのですか?リスナーとしての非同期コールとフラグメントの意味は?申し訳ありませんが多くの質問 –

+0

@einsiedler申し訳ありませんが、ローダーで私はProgressBarを意味します。私は答えを編集します。そして、非同期部分のリンクを追加します – andrei

関連する問題