何か簡単な方法を見つけるのが難しいです。私は、カスタムArrayAdapterでアンドロイドのリストビューに値を設定しています。私はこのコードを使用してリストビューを作成します:FirebaseでOnItemClickListenerを使用する
mRouteListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Route route = dataSnapshot.getValue(Route.class);
adapter.add(route);
}
これは機能します。私はそうのように私のリストビュー内の項目にOnItemClickListenerを設定しようとしている:私は把握することはできませんどのような
ListView routeListView = (ListView) findViewById(R.id.list);
// Find and set empty view on the ListView, so that it only shows when the list has 0 items.
View emptyView = findViewById(R.id.empty_view);
routeListView.setEmptyView(emptyView);
ArrayList<Route> routeList = new ArrayList<>();
adapter = new RouteAdapter(this, routeList);
// may want to change this to FirebaseAdapter
routeListView.setAdapter(adapter);
routeListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent i = new Intent(Wall10Activity.this, SingleRouteActivity.class);
// I want to start a new activity then query the db to populate the information.
startActivity(i);
}
});
は、ビュー、彼らからのすべてのデータをSingleRoute.classからデータベースを照会する方法ですクリックした。ランダムに生成されたキーにアクセスすることはできません。それはそうのように保存されています:
{
"routes" : {
"-KcyQUzuVogjq3yPnr9u" : {
"color" : 0,
"grade" : 10,
"name" : "YELLOW"
}
}
}
didntのは本当に、あなたがルートクラスにマッピングされ、追加されたデータを持っているあなたの質問を取得しますどのように私は理解できないのですか?ここでは、SingleRoute.classからデータベースを照会する方法は何ですか? –
申し訳ありませんが、私はもっと明確にできました。私は私のデータベース内のオブジェクトからの情報を持つリストビューを持っています。私がビューをクリックすると、データベースオブジェクトに含まれるより詳細な情報を入力できる新しいアクティビティを起動します。 – Kyle
その後、 'startActivity(i);'を実行しているときにonClickで、インテントを持つ詳細な情報オブジェクトを含み、アクティビティにアクセスする 'route-> routelist.get(position)'を渡すことができます。 –