【发布时间】:2017-06-12 15:44:38
【问题描述】:
我有一个 listView 显示正在进行的比赛。我的目标是在单击 listView 中的锦标赛后显示在每个锦标赛中组织的运动(在单独的活动中,也以 listView 的形式)。
我正在使用火力基地。我主要关心的是如何将点击的锦标赛的锦标赛 ID 与意图一起发送。
这是我的数据库的样子:
这是代码:
//tournament_list view to be populated with tournament data
final ListView tournamentListView = (ListView) findViewById(R.id.tournament_list);
//finding and setting the empty view in the listView when the tournament_list has 0 items
View emptyView = findViewById(R.id.empty_view);
tournamentListView.setEmptyView(emptyView);
final ArrayList<String> tournamentNamesList = new ArrayList<String>();
final DatabaseReference tournamentRef = mDatabase.child("Tournaments");
final HashMap<String,String> nameIdMatcher = new HashMap<>();
tournamentRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot tournament : dataSnapshot.getChildren()) {
TournamentInformation tournamentInformation = new TournamentInformation();
tournamentInformation.setTournamentName(tournament.getValue(TournamentInformation.class).getTournamentName());
tournamentNamesList.add(tournamentInformation.getTournamentName());
nameIdMatcher.put(tournamentInformation.getTournamentName(),tournament.getKey());
Log.d("Tournament Id:",tournament.getKey());
Log.d("Main Activity", tournamentInformation.getTournamentName());
}
StringAdapter stringAdapter = new StringAdapter(MainActivity.this,tournamentNamesList);
tournamentListView.setAdapter(stringAdapter);
tournamentListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(MainActivity.this,SportsListActivity.class);
String tournamentName = tournamentNamesList.get(position);
tournamentId = nameIdMatcher.get(tournamentName);
intent.putExtra("tournamentId",tournamentId);
startActivity(intent);
}
});
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});`
我读到 putExtra() 方法将通过意图发送数据,但我仍然不确定如何检索点击的 textView 的锦标赛 ID。我不太确定 onItemClick() 方法中的 'id' 参数是什么。
任何帮助将不胜感激!
提前致谢!
【问题讨论】:
-
在此处发布您的代码
-
“我读到 putExtra() 方法将通过意图发送数据,但我仍然不确定如何检索点击的 textView 的锦标赛 ID”:看这里 -> @987654322 @“我不太确定 onItemClick() 方法中的 'id' 参数是什么”它是一个 int,表示单击的列表视图项的位置。它从 0 开始,就像数组一样...
标签: android listview firebase android-intent firebase-realtime-database