2014-11-07 2 views
-1

У меня есть фрагмент с AsyncTask, в котором я разбираю Json. Чтобы поместить каждый элемент в список, я использую SimpleAdapter. В моем списке товаров у меня есть кнопка. Конечно, если я хочу нажать на кнопку, мне нужно создать getView. Ну не работает. Это SimpleAdapter часть внутри AsyncTaskНе могу wirte getView в моем SimpleAdapter в фрагменте

ListAdapter adapter = new SimpleAdapter(getActivity(), list, R.layout.list_rom_item, 
        new String[] { TAG_NAME, TAG_SURNAME }, new int[] { R.id.name, R.id.surname}); 

Теперь, после того, что я пытался поставить это:

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

         Button b=(Button)v.findViewById(R.id.mytask); 
         b.setOnClickListener(new OnClickListener() { 

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

Я получаю сообщение об ошибке в @Override как: The annotation @Override is disallowed for this location, а затем, конечно, в getView() синтаксиса. Я не знаю почему. Я попробовал также очистить проект, но ничего. Возможно ли другое решение? Благодарю.

+0

где именно вы разместили этот GetView() метод? Можете ли вы разместить большую часть своего кода? – user2203031

+0

argh это длинный код..mmh в методе 'onPostExecute'. Однако перед адаптером я делаю' HashMap map = new HashMap (); 'затем адаптер, а затем GetView. Только после утверждения адаптера. –

ответ

1

Вы должны переопределить метод getView() при создании экземпляра вашего адаптера. После этого вы не сможете этого сделать.

Попробуйте так:

ListAdapter adapter = new SimpleAdapter(getActivity(), list, R.layout.list_rom_item, 
        new String[] { TAG_NAME, TAG_SURNAME }, new int[] { R.id.name, R.id.surname}) { 
    @Override 
    public View getView (int position, View convertView, ViewGroup parent) { 
     ... 
     return v; 
    } 
} 
+0

Теперь это работает! Спасибо! –