-1

In my application I have two layout in which the bottom layout some value will be null based on the user details from the server i want to make invisible the which are null, I am using the custom base adapter to create and set the value to the layout view text view please help in this issue. I have tried some google code its not working. my adapter class is as follows

public class SuggestionForumTopicAdapter extends BaseAdapter{
    private ArrayList<SuggestionTopicsModel> _suggestionlistData;
    private LayoutInflater layoutInflater;
    SuggestionTopicsModel suggestion_topics_model;
    private Context _context;
    RelativeLayout relative_layout;
    public SuggestionForumTopicAdapter(Context context,ArrayList<SuggestionTopicsModel> listData){
        _suggestionlistData = listData;
        _context = context;
    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return _suggestionlistData.size();
    }

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

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        ViewHolder holder;
        if (layoutInflater == null)
            layoutInflater = (LayoutInflater) _context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        if(convertView == null){
            convertView = layoutInflater.inflate(R.layout.suggestion_custom_dispplay, null);
            holder = new ViewHolder();
            holder.suggestionPostName = (TextView) convertView.findViewById(R.id.suggestionPostName);
            holder.totalnumberofsuggest = (TextView) convertView.findViewById(R.id.totalnumberofsuggest);
            holder.dateofcreate = (TextView) convertView.findViewById(R.id.dateofcreate);
            holder.winnername=(TextView) convertView.findViewById(R.id.winner_name);

             relative_layout=(RelativeLayout) convertView.findViewById(R.id.winner_layout);

            convertView.setTag(holder);
        }else{
            holder = (ViewHolder) convertView.getTag();
        }
        suggestion_topics_model = (SuggestionTopicsModel) _suggestionlistData.get(position);

         holder.suggestionPostName.setText(suggestion_topics_model.getSuggestionText());

         //Log.i("inside adapter", suggestion_topics_model.getSuggestionText());

         holder.totalnumberofsuggest.setText(Integer.toString(suggestion_topics_model.getTopicsSuggestionCount()));

         //Log.i("inside adapter", suggestion_topics_model.getSuggestionTopicId());

         holder.dateofcreate.setText(suggestion_topics_model.getCreatedDate());


         Log.i("id", ""+suggestion_topics_model.getWinner());
         //Log.i("inside adapter", suggestion_topics_model.getCreatedDate());
        /* if (suggestion_topics_model.getWinner()==position) {
            relative_layout.setVisibility(View.GONE);
            convertView.setClickable(false);
            }*/
         if (suggestion_topics_model.getDispplayname()==null) {
             Log.i("name", suggestion_topics_model.getDispplayname());
             relative_layout.setVisibility(View.GONE);
        }else{
             holder.winnername.setText(suggestion_topics_model.getDispplayname());
             relative_layout.setVisibility(View.VISIBLE);

             Log.i("name", suggestion_topics_model.getDispplayname());
        }
        return convertView;
    }
    static class ViewHolder{

        TextView suggestionPostName;
        TextView totalnumberofsuggest;
        TextView dateofcreate;
        TextView winnername;
    }
}
Cœur
  • 37,241
  • 25
  • 195
  • 267
koteswara D K
  • 628
  • 2
  • 9
  • 19

2 Answers2

0

Try the following code:

public class SuggestionForumTopicAdapter extends BaseAdapter{
    private ArrayList<SuggestionTopicsModel> _suggestionlistData;
    private LayoutInflater layoutInflater;
    SuggestionTopicsModel suggestion_topics_model;
    private Context _context;
    RelativeLayout relative_layout;
    public SuggestionForumTopicAdapter(Context context,ArrayList<SuggestionTopicsModel> listData){
        _suggestionlistData = listData;
        _context = context;
    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return _suggestionlistData.size();
    }

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

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        ViewHolder holder;
        if (layoutInflater == null)
            layoutInflater = (LayoutInflater) _context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        if(convertView == null){
            convertView = layoutInflater.inflate(R.layout.suggestion_custom_dispplay, null);
            holder = new ViewHolder();
            holder.suggestionPostName = (TextView) convertView.findViewById(R.id.suggestionPostName);
            holder.totalnumberofsuggest = (TextView) convertView.findViewById(R.id.totalnumberofsuggest);
            holder.dateofcreate = (TextView) convertView.findViewById(R.id.dateofcreate);
            holder.winnername=(TextView) convertView.findViewById(R.id.winner_name);

            holder.relativeLayout=(RelativeLayout) convertView.findViewById(R.id.winner_layout);

            convertView.setTag(holder);
        }else{
            holder = (ViewHolder) convertView.getTag();
        }
        suggestion_topics_model = (SuggestionTopicsModel) _suggestionlistData.get(position);

         holder.suggestionPostName.setText(suggestion_topics_model.getSuggestionText());

         //Log.i("inside adapter", suggestion_topics_model.getSuggestionText());

         holder.totalnumberofsuggest.setText(Integer.toString(suggestion_topics_model.getTopicsSuggestionCount()));

         //Log.i("inside adapter", suggestion_topics_model.getSuggestionTopicId());

         holder.dateofcreate.setText(suggestion_topics_model.getCreatedDate());


         Log.i("id", ""+suggestion_topics_model.getWinner());
         //Log.i("inside adapter", suggestion_topics_model.getCreatedDate());
        /* if (suggestion_topics_model.getWinner()==position) {
            relative_layout.setVisibility(View.GONE);
            convertView.setClickable(false);
            }*/
         if (suggestion_topics_model.getDispplayname()==null) {
             Log.i("name", suggestion_topics_model.getDispplayname());
             holder.relativeLayout.setVisibility(View.GONE);
        }else{
             holder.winnername.setText(suggestion_topics_model.getDispplayname());
             holder.relativeLayout.setVisibility(View.VISIBLE);

             Log.i("name", suggestion_topics_model.getDispplayname());
        }
        return convertView;
    }
    static class ViewHolder{

        TextView suggestionPostName;
        TextView totalnumberofsuggest;
        TextView dateofcreate;
        TextView winnername;
        RelativeLayout relativeLayout;
    }
}
Richard Poole
  • 591
  • 1
  • 5
  • 21
0

for the above problem i found a solution by just changing the following code

 if (suggestion_topics_model.getDispplayname().contains("null")){
             Log.i("name inside the else ", suggestion_topics_model.getDispplayname());
             holder.relativeLayout.setVisibility(View.GONE);
        }else{

             holder.winnername.setText(suggestion_topics_model.getDispplayname());
             holder.relativeLayout.setVisibility(View.VISIBLE);
             Log.i("name", suggestion_topics_model.getDispplayname());

        }
        return convertView;
    }
    static class ViewHolder{

        TextView suggestionPostName;
        TextView totalnumberofsuggest;
        TextView dateofcreate;
        TextView winnername;
        RelativeLayout relativeLayout;
    }
koteswara D K
  • 628
  • 2
  • 9
  • 19