Afficher l'image en mode recycleur similaire à la chronologie de Facebook

voix
1

Je crée une application Android, je suis coincé à un moment donné. Je veux afficher les messages qu'il s'affiche dans le scénario de facebook. Après peut avoir des images ou ne peut pas. J'ai créé une vue de carte pour les autres éléments de poste et je suis en mesure de les afficher dans les messages. J'ai les liens d'image envoyés depuis le serveur pour les images de poste, maintenant je veux télécharger des images et afficher sur le post particulier qui a l'image en elle. Comment puis-je faire ceci? Si l'utilisateur dispose de 10 postes, il peut y avoir image dans un ou deux. Comment puis-je vérifier quel poste a l'image et afficher l'image dans ce poste après l'avoir téléchargé. Quelqu'un peut-il me s'il vous plaît aider dans ce domaine.

S'il vous plaît laissez-moi savoir si vous avez besoin de plus amples informations. Mon point de vue de la carte est comme indiqué ci-dessous:

<?xml version=1.0 encoding=utf-8?>
<RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android
    android:layout_width=match_parent
    android:layout_height=match_parent
    android:orientation=vertical>

<android.support.v7.widget.CardView
    xmlns:card_view=http://schemas.android.com/apk/res-auto
    android:id=@+id/card_view
    android:layout_gravity=center
    android:layout_width=match_parent
    android:layout_height=wrap_content
    card_view:cardCornerRadius=4dp>

    <RelativeLayout
        android:layout_width=wrap_content
        android:layout_height=wrap_content>

    <ImageView
        android:id=@+id/imageViewUser
        android:layout_width=wrap_content
        android:layout_height=wrap_content
        android:src=@mipmap/human_image/>

    <TextView
        android:id=@+id/textViewTitle
        android:layout_width=wrap_content
        android:layout_height=wrap_content
        android:layout_toRightOf=@+id/imageViewUser
        android:layout_toEndOf=@+id/imageViewUser
        android:textSize=18sp
        android:text=titleText
        android:layout_marginLeft=10dp
        android:layout_marginStart=10dp/>

        <TextView
            android:id=@+id/textViewNoOfDays
            android:layout_width=wrap_content
            android:layout_height=wrap_content
            android:layout_below=@+id/textViewTitle
            android:textSize=14sp
            android:layout_marginLeft=10dp
            android:text=No of Days
            android:layout_toRightOf=@+id/imageViewUser
            android:layout_alignBottom=@+id/imageViewUser/>

        <TextView
            android:id=@+id/textViewPostDescription
            android:layout_width=wrap_content
            android:layout_height=wrap_content
            android:layout_below=@+id/imageViewUser
            android:layout_marginTop=20dp
            android:text=ABCDE
            android:layout_marginLeft=20dp
            android:layout_marginStart=20dp/>

        <View
            android:layout_width=fill_parent
            android:layout_height=2dp
            android:background=#c0c0c0
            android:layout_below=@+id/postImage
            android:layout_marginTop=10dp/>

        <ImageButton
            android:id=@+id/imageButtonPin
            android:layout_width=wrap_content
            android:layout_height=wrap_content
            android:layout_alignParentRight=true
            android:src=@mipmap/ic_pin_grey600_18dp/>

        <ImageView
            android:id=@+id/postImage
            android:layout_width=wrap_content
            android:layout_height=wrap_content
            android:layout_below=@+id/textViewPostDescription
            />








    </RelativeLayout>






</android.support.v7.widget.CardView>




</RelativeLayout>
Créé 29/11/2015 à 09:58
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
0

Je pense que c'est celui que vous cherchez, facebook aime cardview. Il tester si l'image du serveur d' extraction est null. Ceci est une réponse aux images taille ainsi.

Créé 21/06/2016 à 10:49
source utilisateur

voix
0

Voici comment j'ai réussi à obtenir ce travail.

Classe Adaptateur:

public class StoriesAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {

    private List<Success> successList;
    ImageLoader imageLoader = AppController.getInstance().getImageLoader();
    private Context mContext;

    public StoriesAdapter(Context context, List<Success> successList) {
        this.successList = successList;
        this.mContext = context;
    }
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.success_list, parent, false);
        StoryItemViewHolder vh = new StoryItemViewHolder(v);

        return vh;
    }
    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {
        if (imageLoader == null)
            imageLoader = AppController.getInstance().getImageLoader();
        final Success success = successList.get(position);
        StoryItemViewHolder holder = (StoryItemViewHolder) viewHolder;
        // Feed image
        if (!success.getThumbnailUrl().equals("null")) {//check if null
            holder.thumbNail.setImageUrl(success.getThumbnailUrl(), imageLoader);
            holder.thumbNail.setVisibility(View.VISIBLE);
            holder.thumbNail.setResponseObserver(new FeedImageView.ResponseObserver() {
                        @Override
                        public void onError() {
                        }

                        @Override
                        public void onSuccess() {
                        }
                    });
        } else {
            holder.thumbNail.setVisibility(View.GONE);
        }

    }
    @Override
    public int getItemCount() {
        return (null != successList ? successList.size() : 0);
    }

}

Et le viewHolder:

public class StoryItemViewHolder extends RecyclerView.ViewHolder {
    public FeedImageView thumbNail;

    public StoryItemViewHolder(View view) {
        super(view);
        this.thumbNail= (FeedImageView) view.findViewById(R.id.newsImage);
    }

}
Créé 21/06/2016 à 11:02
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more