当我向listview添加新消息时,会添加我拥有的消息和新消息,因此它会将相同的信息放两次.
我想在使用Firebase的listview中加载最后一条消息,我在create()中有以下函数:
firebase = new Firebase(FIREBASE_URL).child(FIREBASE_CHILD + "/" + sharedPreferences.getString("chatKey", null).toString() + "/room/");
firebase.child("messages").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot Snapshot) {
if (Snapshot.getValue() != null) {
Iterable<DataSnapshot> iterator = Snapshot.getChildren();
itemMessage itemData;
for(DataSnapshot value : iterator){
itemData = value.getValue( itemMessage.class );
mCDataAdatapter.add( itemData.getMessage().toString() );
}
mConversation.setAdapter( mCDataAdatapter );
}
}
Run Code Online (Sandbox Code Playgroud)
并添加新消息:
sendMessage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(ChatActivity.this);
SharedPreferences.Editor editor = sharedPreferences.edit();
// editor.clear().commit();
if( sharedPreferences.getString("chatKey", null) != null && sharedPreferences.getString("chatKey", null).toString() != …Run Code Online (Sandbox Code Playgroud) 我有一个片段,我在其中填充了一个 RecyclerView,一个帖子包含一个相机,我需要在拍照时获取它带来的信息。我不知道怎么做。
请帮忙。
这是我的代码:
后适配器.java
public HeaderViewHolder (View itemView) {
super (itemView);
this.mCamera = (ImageView) itemView.findViewById(R.id.ivCamera);
mCameraPhoto = new CameraPhoto(itemView.getContext());
this.mCamera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try{
((Activity) v.getContext()).startActivityForResult(mCameraPhoto.takePhotoIntent(), CAMERA_REQUEST_ASIST);
}catch (Exception e){
Log.e("Error camera permission", e.getMessage());
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
主活动.java
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
String photoPath = mCameraPhoto.getPhotoPath();
for (Fragment fragment : getSupportFragmentManager().getFragments()) {
fragment.onActivityResult(requestCode, resultCode, data);
Log.d("Result in fragment",":D --> "+photoPath);
}
}
Run Code Online (Sandbox Code Playgroud)
我的片段
public void onActivityResult(int requestCode, …Run Code Online (Sandbox Code Playgroud)