【发布时间】:2019-09-19 06:38:57
【问题描述】:
我想从类别键中的键中获取所有值。
我使用的是 AndroidX,Gradle 5.1.1,我正在使用这个结构:
db-name
category1
unique_random_id: value
unique_random_id2: value_value
category2
unique_random_id: value
unique_random_id2: value_value
ListView lv;
FirebaseDatabase fb;
DatabaseReference dr;
ArrayList<Article> list;
ArrayAdapter<Article> adapter;
Article article;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.articlelist);
Intent intent = getIntent();
Bundle gotExtras = intent.getExtras();
final TextView articleCatShow = (TextView)findViewById(R.id.articleCatShow);
articleTopCat.setText(gotExtras.getString("cat"));
article = new Article();
lv = (ListView)findViewById(R.id.listView);
fb = FirebaseDatabase.getInstance();
dr = fb.getReference(gotExtras.getString("cat"));
list = new ArrayList<>();
adapter = new ArrayAdapter<Article>(this, R.layout.article_each, R.id.articleTxt, list);
dr.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot ds: dataSnapshot.getChildren()) {
adapter.add(ds.getValue(Article.class));
lv.setAdapter(adapter);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
Gradle 依赖项:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.google.firebase:firebase-analytics:17.2.0'
implementation 'com.google.firebase:firebase-core:17.2.0'
implementation 'com.google.firebase:firebase-database:19.1.0'
}
我希望列表视图有数据。
当我运行应用程序并按下将 Intent with Extras Can't convert an object of type java.lang.String to type <my-hidden-package-name> 的按钮时,我也会收到此错误
【问题讨论】:
-
您传递的捆绑包中的
cat值是多少?并且不要在 for 循环中设置适配器 -
@Priyankagb 我正在发送类别名称
-
是字符串还是别的什么?
-
@Priyankagb 这是一个字符串
标签: java android firebase firebase-realtime-database androidx