установка видимости пропала, если список пуст - PullRequest
0 голосов
/ 31 октября 2018

У меня есть проблема, которую я пытался решить в течение некоторого времени с помощью советов по поиску в Google по этой проблеме.

Мой SimpleAdapter выглядит так:

@Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        ListAdapter adapter = new SimpleAdapter(MainActivity.this, contactList,
                R.layout.list_item, new String[]{"namn", "avdelning", "epost", "mobil", "telnr"},
                new int[]{R.id.email, R.id.mobile, R.id.epost, R.id.mobil, R.id.telnr});
        lv.setAdapter(adapter);

Он отображает элементы в виде списка, которые получены при нажатии кнопки поискового запроса в моем окне поиска, которая извлекает данные из API-интерфейса JSON.

Моя проблема в том, что некоторые элементы пусты, что приводит к пустому пространству. Я хочу, чтобы это пустое пространство исчезло.

Я пробовал использовать приведенный ниже код, но так и не понял, как заставить его работать

ListAdapter adapter2 = new SimpleAdapter(this, contactList, R.layout.list_item, new String[]{"mobil"
}, new int[]{R.id.mobil})
{

    @Override

    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        ViewHolder holder;
        if (v == null) {
            holder = new ViewHolder();
            LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.list_item, null);
            holder.textView = (TextView) v.findViewById(R.id.mobil);
            //other stuff
            v.setTag(holder);
        } else {
            holder = (ViewHolder) v.getTag();
        }

        HashMap<String, String> contact = contactList.get(position);

        if (TextUtils.isEmpty(contact.get("mobil"))) {
            holder.textView.setVisibility(View.GONE);
            holder.textView.setVisibility(View.INVISIBLE);
            notifyDataSetChanged();
        } else {
            holder.textView.setVisibility(View.VISIBLE);
        }
        //do the same thing for other possible views.
        return v;
    }

    class ViewHolder {
        TextView textView;
        //your other views
    }
};

какие-нибудь советы?

1 Ответ

0 голосов
/ 31 октября 2018
public void removeUnwantedCharacter() {
    List<String> list = Arrays.asList("", "Hi", "", "How", "are", "you");
    List<String> result = new ArrayList<String>();
    if (!list.isEmpty()) {
        for (String str : list) {
            if (str != null && !str.isEmpty()) {
                result.add(str);
           }
        }
    }
    Log.d("++++++", result.toString());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...