1

サイズを動的に変更するすべての行に画像とテキストを含む ListView を作成したい (たとえば、最初は listView には何も表示されず、その後 listView にエントリを追加できる)、また listView ができるようにしたいドローアブルからの画像ではなく、ビットマップ画像のリストを読み込みます。

私はこのコードを作成しましたが、コードはドローアブルから画像をロードして一度作成しただけです(リストを動的に変更できないことを意味します-listViewエントリを追加または削除します)

String[] text = { "One", "Two", "Three", "Four", "Five", "Six", "Seven",
       "Eight", "Nine", "Ten" };

     int[] image = { R.drawable.logo, R.drawable.logo, R.drawable.logo,
       R.drawable.logo, R.drawable.logo, R.drawable.logo, R.drawable.logo,
       R.drawable.logo, R.drawable.logo, R.drawable.logo };

    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
 lv.setAdapter(new MyCustomAdapter(text, listImages));
          edittext= (EditText) findViewById(R.id.EditText01);

          edittext.addTextChangedListener(new TextWatcher()
          {

           public void afterTextChanged(Editable s)
           {

           }

           public void beforeTextChanged(CharSequence s, int start,
            int count, int after)
           {

           }

           public void onTextChanged(CharSequence s, int start,
            int before, int count)
           {

            textlength = edittext.getText().length();
            text_sort.clear();
            image_sort.clear();

            for (int i = 0; i < text.length; i++)
            {
             if (textlength <= text[i].length())
             {
              if (edittext.getText().toString().
           equalsIgnoreCase((String) text[i].subSequence(0, textlength)))
              {
               text_sort.add(text[i]);
              // image_sort.add(image[i]);
              }
             }
            }

            lv.setAdapter(new MyCustomAdapter
             (text_sort, image_sort));

           }
          });
         }
4

1 に答える 1

0

リストビューのこの実装を確認して くださいhttp://www.java2s.com/Code/Android/UI/Demonstratestheusingalistviewintranscriptmode.htm

リストビューアイテムのカスタマイズの使用については、このチュートリアルを確認してくださいhttp://www.framentos.com/en/android-tutorial/2012/07/16/listview-in-android-using-custom-listadapter-and-viewcache/

Eidt:このアダプタクラスを使用します:

  クラスMyCustomAdapterはBaseAdapterを拡張します{
      public static ArrayList text_array = new ArrayList();
      public static ArrayList image_array = new ArrayList();
      public int getCount(){
           text_array..size();を返します。
      }
      public long getItemId(int position){
           戻り位置;
      }
      public String getItem(int position){
           nullを返します。
      }
      public View getView(final int position、View convertView、ViewGroup parent){
        LayoutInflater inflate = getLayoutInflater();
        ビューv=inflate.inflate(R.layout.listview、parent、false);
        最終的なImageView画像=(ImageView)v.findViewById(R.id.ImageView01);

         if(listImages.get(position)!= null){
                     image.setImageBitmap(image_array.get(position));
                     image.setVisibility(View.VISIBLE);
          } そうしないと {
                     image.setVisibility(View.GONE);
                     image.setImageBitmap(null);
                      image.setVisibility(View.VISIBLE);
      }
     vを返す;

    }
     public void addObject(String text、Bitmapbitmap){
    text_array.add(text);
        image_array.add(bitmap);
        notifyDataSetChanged();
     }
}

アクティビティクラスからaddObject関数を呼び出して、リストビューに新しいアイテムを追加します

于 2013-03-12T08:50:49.893 に答える