小编Mil*_*era的帖子

从Firebase加载到ListView中的重复对象

当我向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)

android firebase firebase-realtime-database

2
推荐指数
1
解决办法
2597
查看次数

来自 Fragment 内适配器的 startActivityForResult

我有一个片段,我在其中填充了一个 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)

java android android-camera android-fragments

2
推荐指数
1
解决办法
2492
查看次数