0

Hi i am doing an application in which i want to show the content depending on the custom and the public ,data is coming from the sever.i am receiving the is_public as a parameter value as 0 and 1 if it is 1 it for public, we need to display to all user if t is 0,we need to display only the custom member like user id 8,10. for rest of the user the received content like user id 11 need to be invisible. i able to make invisible the content, when i invisible it it is taking blank space in the list view how to remove the blank space i am posting my adapter class below please help me

public class PlacementsBoardAdapter extends BaseAdapter{

    private ArrayList<PlacementsBoardModel> listData;
    private LayoutInflater layoutInflater;
    ArrayList<PlacementsBoardModel> listData1;
    public ImageLoader imageLoader;
    DisplayImageOptions profile_options;
    ImageView imageview;
    private Context prova;
    Bitmap bit_map_image;
    int isPublic;
    String custom;

    public PlacementsBoardAdapter(Context context,ArrayList<PlacementsBoardModel> listData){
        this.listData = listData;

        listData1=listData;
        prova = context;


    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return listData.size();
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return listData.get(position);
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }



    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub

        imageLoader =imageLoader.getInstance();
        profile_options = new DisplayImageOptions.Builder()
        .showImageOnLoading(R.drawable.pdfimage)
        .showImageForEmptyUri(R.drawable.pdfimage) 
        .showImageOnFail(R.drawable.pdfimage)
        .cacheInMemory(true)
        .cacheOnDisc(true)
        .considerExifParams(true)
        .bitmapConfig(Bitmap.Config.RGB_565)
        .build();
        final ViewHolder holder;
        if (layoutInflater == null)
            layoutInflater = (LayoutInflater) prova.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        if(convertView == null){
            convertView = layoutInflater.inflate(R.layout.placementsboardcutomview, null);
            holder = new ViewHolder();
            /*holder.title_of_placesment = (TextView) convertView.findViewById(R.id.title_of_placesment);
            holder.pdf_image_custom=(ImageView)convertView.findViewById(R.id.pdf_image_custom);
            holder.created_date = (TextView) convertView.findViewById(R.id.created_date);*/

            holder.title_of_placesment = (TextView) convertView.findViewById(R.id.noticetopic);
            holder.pdf_image_custom=(ImageView)convertView.findViewById(R.id.notice_title_name_image);

            holder.readmore=(TextView)convertView.findViewById(R.id.readmore);
            holder.placement_etext = (TextView) convertView.findViewById(R.id.noticetext);
            holder.readmorelayout=(RelativeLayout)convertView.findViewById(R.id.bottom_layout);
            holder.created_date = (TextView) convertView.findViewById(R.id.createddate);
            holder.placementCustomLinear=(LinearLayout)convertView.findViewById(R.id.placementCustomLinear);

            convertView.setTag(holder);
        }else{
            holder = (ViewHolder) convertView.getTag();

        }
         final PlacementsBoardModel placementboardItem = (PlacementsBoardModel) listData.get(position);

        holder.title_of_placesment.setText(placementboardItem.getTitle());
        holder.created_date.setText(placementboardItem.getCreated_date());
        holder.placement_etext.setText(placementboardItem.getDescription());
            String description=placementboardItem.getDescription();
            isPublic=placementboardItem.getIsPublic();
            custom=placementboardItem.getCustom();

                 if (description!=null&&!placementboardItem.getDownload_file_path().contains("null")) {
                        holder.placement_etext.setVisibility(View.VISIBLE);
                        holder.pdf_image_custom.setVisibility(View.VISIBLE);
                        if(isPublic==0&&Util.USER_ID.contains(custom)){
                             holder.placementCustomLinear.setVisibility(View.VISIBLE);

                         }
                        if (description.length()>350) {
                            holder.placement_etext.setText(placementboardItem.getDescription().trim().subSequence(0, 300)+"....");

                             holder.readmorelayout.setVisibility(View.VISIBLE);
                        }   
                    } 
                    else if(description!=null&&placementboardItem.getDownload_file_path().contains("null")){
                        if (description.length()>350) {
                            holder.placement_etext.setText(placementboardItem.getDescription().trim().subSequence(0, 300)+"....");
                            holder.readmorelayout.setVisibility(View.VISIBLE);

                        }
                        else{
                            holder.readmorelayout.setVisibility(View.GONE);
                            holder.placement_etext.setVisibility(View.VISIBLE);
                            holder.pdf_image_custom.setVisibility(View.GONE);
                        }

                        }

                    if(placementboardItem.getDescription().contains("null")&&!placementboardItem.getDownload_file_path().contains("null")) {
                        holder.placement_etext.setVisibility(View.GONE);
                        holder.pdf_image_custom.setVisibility(View.VISIBLE);
                        holder.readmorelayout.setVisibility(View.GONE);
                    }


                //holder.pdf_image_custom.setBackground(background)
                if (placementboardItem.getDownload_file_type().contains("jpg")||placementboardItem.getDownload_file_type().contains("jpeg")||placementboardItem.getDownload_file_type().contains("png")) {
                    Log.i("only jpg or png", "tittle the file for display");
                    if (placementboardItem.getTitle().length()>=20) {
                        holder.title_of_placesment.setText(placementboardItem.getTitle().trim().subSequence(0, 20)+"....");
                        //holder.imageview.setImageBitmap(noticeboardItem.getBit_image());

                    }else{
                        //noticeboardItem.getBit_image()
                        holder.title_of_placesment.setText(placementboardItem.getTitle());
                        holder.pdf_image_custom.setImageBitmap(bit_map_image);
                    }

                } else {

                    if (placementboardItem.getTitle().length()>=20) {
                        holder.title_of_placesment.setText(placementboardItem.getTitle().trim().subSequence(0, 20)+"....");
                        //holder.imageview.setImageResource(R.drawable.pdfimage);

                    }else{
                        holder.title_of_placesment.setText(placementboardItem.getTitle());
                        //holder.imageview.setImageResource(R.drawable.pdfimage);
                        Log.i("only pdf", "only pdf");;
                    }

                }
                if(isPublic==1&&!Util.USER_ID.contains(custom)){
                     holder.placementCustomLinear.setVisibility(View.VISIBLE);
                 }




        holder.pdf_image_custom.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                PlacementsBoardModel notice_data = (PlacementsBoardModel) listData.get(position);
                    /*String title=notice_data.getTitle();
                    String description=notice_data.getDescription();
                    Intent intent = new Intent(prova,DscriptionDisplay.class);
                    intent.putExtra("title",title);
                    intent.putExtra("description",description);
                    prova.startActivity(intent);*/

                        if (notice_data.getDownload_file_type().contains("jpg")||notice_data.getDownload_file_type().contains("gif")||notice_data.getDownload_file_type().contains("jpeg")||notice_data.getDownload_file_type().contains("png")) {
                            Log.i("only jpg or png", "tittle the file for display");
                            Intent intent1 = new Intent(prova,NoticeBoardImageDisplayActivity.class);
                            intent1.putExtra("noticeimagelink",notice_data.getDownload_file_path());
                            intent1.putExtra("noticetitle",notice_data.getTitle());

                            prova.startActivity(intent1);


                        } else {
                             Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(notice_data.getDownload_file_path()));
                             prova.startActivity(browserIntent);
                            Log.i("only pdf", "only pdf");
                        }
                        notifyDataSetChanged();


}   
        });
     holder.readmore.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                //placementboardItem = (PlacementsBoardModel) listData.get(position);
                    String title=placementboardItem.getTitle();
                    String description=placementboardItem.getDescription();
                    Intent intent = new Intent(prova,DscriptionDisplay.class);
                    intent.putExtra("title",title);
                    intent.putExtra("description",description);
                    prova.startActivity(intent);
                    notifyDataSetChanged();

            }
        });
        imageLoader.displayImage(placementboardItem.getDownload_file_path(), holder.pdf_image_custom, profile_options, new SimpleImageLoadingListener() {
            @Override
            public void onLoadingStarted(String imageUri, View view) {

            }

            @Override
            public void onLoadingFailed(String imageUri, View view,
                    FailReason failReason) {

            }

            @Override
            public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {

                //bit_map_image=loadedImage;
            }
        }, new ImageLoadingProgressListener() {
            @Override
            public void onProgressUpdate(String imageUri, View view, int current,
                    int total) {

            }
        }
                );


        notifyDataSetChanged();
        return convertView;
    }


    static class ViewHolder{
        RelativeLayout readmorelayout;
        TextView placement_etext;
        TextView readmore;
        TextView title_of_placesment;
        TextView created_date;
        ImageView pdf_image_custom;
        LinearLayout placementCustomLinear;

    }


}

holder.placementCustomLinear is the custom leaner-layout need to be make it invisible

koteswara D K
  • 628
  • 2
  • 9
  • 19

1 Answers1

0

After some research i have solved my problem by adding a parent layout in the the xml and adding the some logic in the adapter class like

if (Util.ROLE.equalsIgnoreCase("admin")) {
                    holder.placementCustomLinear.setVisibility(View.VISIBLE);
                }else
                if(isPublic==0){
                    Log.i("inside if ", ""+isPublic);
                    Log.i("custom disply", custom);
                    int[] arry= stringToInteger(custom);
                    Log.i("numbers to ccheck ", ""+(arry));
                    for (int i = 0; i < arry.length; i++) {
                        if(custom.contains(Util.USER_ID)){
                            Log.i("true checked  ", "inside");
                            holder.placementCustomLinear.setVisibility(View.VISIBLE);
                             notifyDataSetChanged();
                        }else{
                            holder.placementCustomLinear.setVisibility(View.GONE);
                             notifyDataSetChanged();
                        }
                    } 
                    if(isPublic==0&&Util.USER_ID.contains(custom)){
                        holder.placementCustomLinear.setVisibility(View.VISIBLE);
                         notifyDataSetChanged();
                    }
                }

                else{
                    Log.i("else block ",""+isPublic);
                    if(isPublic==1)
                     holder.placementCustomLinear.setVisibility(View.VISIBLE);
                     notifyDataSetChanged();
                 }

my problem is solved thanks for the people who have give some suggestion

koteswara D K
  • 628
  • 2
  • 9
  • 19