をやっていることは、私は私のDataModelクラスで単一の文字列コンストラクタを使用している場合でも、私は一度に1つの文字列値を取得私はこの例外を取得していますなぜ、私はここで間違っ
W/System.err:
at com.firebase.client.DataSnapshot.getValue(DataSnapshot.java:183)
caused by : com.fasterxml.jackson.databind.JsonMappingException:
Can not instantiate value of type [simple type, class hi.example.com.hi.DataModel] from String value; no single-String constructor/factory method.
を入力するバウンスに失敗しました。コンストラクタ,,この出来事は,,誰かが私を助けてください、なぜ..
here is my json file
{
"messages": {
"matt__walk": {
"Username": "matt__walk",
"imageurl": "https://firebasestorage.googleapis.com/v0",
"text": "hii"
}
}
}
のDataModelクラス:
@JsonIgnoreProperties(ignoreUnknown=true)
public class DataModel {
private String Username;
private String imageurl;
private String text;
public DataModel(){
}
public String getUsername() {
return Username;
}
public String getText() {
return text;
}
public String getImageUrl() {
return imageurl;
}
}
馬inActivityクラス:
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
Menu menu;
private Toolbar toolbar;
private LinearLayoutManager layoutManager;
private static RecyclerView recyclerView;
private Firebase ref;
private String res;
private DatabaseReference mDatabase;
private FirebaseRecyclerAdapter<DataModel, MessageViewHolder> mFirebaseAdapter;
public static class MessageViewHolder extends RecyclerView.ViewHolder {
View mViews;
CircleImageView img;
TextView name,data;
public MessageViewHolder(View views) {
super(views);
mViews = views;
}
public void setText(String Name) {
TextView name = (TextView) mViews.findViewById(R.id.Name);
name.setText(Name);
}
public void setData(String Data) {
TextView data = (TextView) mViews.findViewById(R.id.datas);
data.setText(Data);
}
public void setImage(Context cnt, String imageUrl) {
CircleImageView img = (CircleImageView) mViews.findViewById(R.id.image);
Picasso.with(cnt).load(imageUrl).into(img);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainactivity);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Firebase.setAndroidContext(this);
recyclerView = (RecyclerView) findViewById(R.id.recycler);
recyclerView.setHasFixedSize(true);
layoutManager = new LinearLayoutManager(this);
ref = new Firebase("https://hi-34.firebaseio.com/messages/matt__walk");
mFirebaseAdapter = new FirebaseRecyclerAdapter<DataModel, MessageViewHolder>(
DataModel.class,
R.layout.rowplaces,
MessageViewHolder.class,
ref
) {
@Override
protected void populateViewHolder(MessageViewHolder messageViewHolder, DataModel dataModel, int i) {
messageViewHolder.setText(dataModel.getUsername());
messageViewHolder.setData(dataModel.getText());
messageViewHolder.setImage(getApplicationContext(),dataModel.getImageUrl());
}
};
mFirebaseAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
@Override
public void onItemRangeInserted(int positionStart, int itemCount) {
super.onItemRangeInserted(positionStart, itemCount);
int friendlyMessageCount = mFirebaseAdapter.getItemCount();
int lastVisiblePosition = layoutManager.findLastCompletelyVisibleItemPosition();
if (lastVisiblePosition == -1 ||
(positionStart >= (friendlyMessageCount - 1) &&
lastVisiblePosition == (positionStart - 1))) {
recyclerView.scrollToPosition(positionStart);
}
}
});
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(mFirebaseAdapter);
}
私はあなたが人々が何を見ることができるように、そのどこかにそれを置くあなたのコードを示すことなく、任意の助けを得ることはありませんかなり確信していますやっている/しようとしている。 –
'ref = new Firebase(" URL here ");' Firebaseダッシュボードからエクスポートできる、そのURLにテキストとして(スクリーンショットなし)データを投稿してください。 –
@FrankvanPuffelen今、なぜその例外が出ているのか教えてください。 – user4771594