Скрытие ListView

1

Я хочу просмотр невидимого списка - мне нужно вызвать list.setVisibility(View.INVISIBLE), но я использовал ListActivity, и в моем коде нет ListView.

Как мне вызвать эту функцию или получить это свойство? Пожалуйста, помогите мне в достижении этой цели.

public class list extends ListActivity {
ListView lst;
    private LayoutInflater mInflater;
    private Vector<RowData> data;
    RowData rd;
    static final String[] title = new String[] {
            "*New*Apple iPad Wi-Fi (16GB)", "7 Touch Tablet -2GB Google Android",   
    "Apple iPad Wi-Fi (16GB) Rarely Used ","Apple iPad Wi-Fi (16GB) AppleCase"      };
    static final String[] detail = new String[] {
            "1h 37m Shipping: $10.00","1h 39m Shipping: Free","58m 6s Shipping: $10.00","59m 30s Shipping: $10.95"  };
    private Integer[] imgid = {
      R.drawable.icon,R.drawable.icon,R.drawable.icon,
      R.drawable.icon
    };
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    lst=(ListView)findViewById(R.id.list);
    mInflater = (LayoutInflater) getSystemService(
    Activity.LAYOUT_INFLATER_SERVICE);
    data = new Vector<RowData>();
    for(int i=0;i<title.length;i++){
    try {
        rd = new RowData(i,title[i],detail[i]);
        } catch (ParseException e) {
            e.printStackTrace();
       }
       data.add(rd);
    }
       CustomAdapter adapter = new CustomAdapter(this, R.layout.list,
                                         R.id.title, data);
       setListAdapter(adapter);
       //getListView().setTextFilterEnabled(true);
    }
       public void onListItemClick(ListView parent, View v, int position,
                                                                    long id) {          
       Toast.makeText(getApplicationContext(), "You have selected "
                        +(position+1)+"th item",  Toast.LENGTH_SHORT).show();
    }
           private class RowData {
           protected int mId;
           protected String mTitle;
           protected String mDetail;
           RowData(int id,String title,String detail){
           mId=id;
           mTitle = title;
           mDetail=detail;
        }
           @Override
           public String toString() {
                   return mId+" "+mTitle+" "+mDetail;
           }
    }
      private class CustomAdapter extends ArrayAdapter<RowData> {
      public CustomAdapter(Context context, int resource,
                            int textViewResourceId, List<RowData> objects) {               
     super(context, resource, textViewResourceId, objects);
    }
          @Override
           public View getView(int position, View convertView, ViewGroup parent) {   
           ViewHolder holder = null;
           TextView title = null;
           TextView detail = null;
           ImageView i11=null;
           RowData rowData= getItem(position);
           if(null == convertView){
                convertView = mInflater.inflate(R.layout.list, null);
                holder = new ViewHolder(convertView);
                convertView.setTag(holder);
     }
                 holder = (ViewHolder) convertView.getTag();
                 title = holder.gettitle();
                 title.setText(rowData.mTitle);
                 detail = holder.getdetail();
                 detail.setText(rowData.mDetail);                                                     
                 i11=holder.getImage();
                 i11.setImageResource(imgid[rowData.mId]);
                 return convertView;
    }
                private class ViewHolder {
                private View mRow;
                private TextView title = null;
                private TextView detail = null;
                private ImageView i11=null; 
                public ViewHolder(View row) {
                mRow = row;
     }
             public TextView gettitle() {
                 if(null == title){
                     title = (TextView) mRow.findViewById(R.id.title);
                    }
                return title;
             }     
             public TextView getdetail() {
                 if(null == detail){
                      detail = (TextView) mRow.findViewById(R.id.detail);
                        }
               return detail;
             }
            public ImageView getImage() {
                 if(null == i11){
                      i11 = (ImageView) mRow.findViewById(R.id.img);
                                          }
                    return i11;
            }
         }
       } }
  • 0
    Пожалуйста, перед добавлением кода нажмите Ctrl + K в редакторе. тогда это будет хорошо видно, здесь ничего не ясно.
  • 0
    Я отредактировал вопрос, чтобы сделать его более понятным. Редакция будет видна после того, как будет рецензирована.
Теги:

3 ответа

2

ListActivity скрывает от вас ListView, но вы можете получить его, вызвав getListView(). Таким образом, вы могли бы добавить метод к ListActivity:

void setListVisible ( boolean isVisible ) {
    getListView().setVisibility( isVisible ? View.VISIBLE : View.INVISIBLE );
}

Вызовите setListVisible(false), чтобы скрыть список, и setListVisible(true), чтобы отобразить список.

Строка isVisible ? View.VISIBLE : View.INVISIBLE устанавливает видимость в View.VISIBLE, если isVisible == true, в противном случае она устанавливает значение View.INVISIBLE.

  • 0
    привет, спасибо, сейчас работает, извините за поздний ответ
2

Внутри ListActivity вы можете вызвать getListView(), так что вы можете в основном сделать:

getListView().setVisibility(View.INVISIBLE);
  • 0
    спасибо за ответ. он отлично работает
-1
Listview list=(ListView) findviewbyid(R.id.list);
list.setVisibilty(View.Gone);
  • 0
    Не могли бы вы объяснить немного? Благодарю.
  • 0
    1-й список представления списка получить его из XML-файла, а затем список объектов установить видимость, как View.Gone ИЛИ view.visible. Прошло то, что используется для скрытия, а видимое используется для того, чтобы увидеть любую вещь, которую мы скрываем.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню