2015-05-20 4 views
1

мне нужно Dispaly моих ценностей в виде списка, и мне нужно выполнить щелчок для конкретного TextView один в спискеListAdapter значение не отображается

Я попытался, как этот

ListAdapter adapter = new SimpleAdapter(
           ViewAppoinmentScreen.this, medicationlist, 
           R.layout.appoinmentlist, new String[] { 
             "clinic_name", "id", "app_type", 
             "app_date", "app_time", "app_desc" }, 
           new int[] { R.id.name, R.id.app_id, 
             R.id.app_type, R.id.date, R.id.time, 
             R.id.comments }){ 

          @Override 
          public View getView (int position, View convertView, ViewGroup parent) { 
           LayoutInflater mInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
           View rowView = mInflater.inflate(
             R.layout.appoinmentlist, parent, false); 
           ImageView del = (ImageView) rowView 
            .findViewById(R.id.imageView3); 
           del.setOnClickListener(new View.OnClickListener() { 

            @Override 
            public void onClick(View v) { 
             String id = ((TextView) findViewById(R.id.app_id)) 
               .getText().toString(); 
             Toast.makeText(ViewAppoinmentScreen.this, " Clicked Successfully", Toast.LENGTH_LONG).show(); 
             System.out.println("deleted action"+id); 


            } 
           }); 

           return rowView; 
          } 

         }; 

         med_list.setAdapter(adapter); 

метод GetView работает, я могу видеть сообщение с тостом, но я не могу видеть значения в моем списке. Значения не установлены на адаптер. Какая ошибка я сделал, я не знаю? Пожалуйста, помогите мне.

Спасибо заранее.

+0

Проверьте, является ли 'medicationlist' нулевым или нет – user3256145

+0

нет' medicationlist' не является нулевым –

+0

Является ли видимым изображение d? Тост отображается, когда вы нажимаете del ... так что d row is inflatd – user3256145

ответ

1

Я решил свою issuse путем замены getView что-то вроде этого

@Override 
          public View getView (int position, View convertView, ViewGroup parent) 
          { 
           View v = super.getView(position, convertView, parent); 

           ImageView del = (ImageView) v 
              .findViewById(R.id.imageView3); 
           del.setOnClickListener(new OnClickListener() { 

            @Override 
            public void onClick(View arg0) { 
             // TODO Auto-generated method stub 
             Toast.makeText(ViewAppoinmentScreen.this,"Deleted",Toast.LENGTH_SHORT).show(); 
            } 
           }); 
           return v; 
          } 

Теперь его штрафом.