2016-06-24 2 views
0

Im пытается манипулировать кнопкой макета из моего класса ImageAdapter, который простирается от BaseAdapter.Android-макет инфлятора из класса адаптера не работает

вот мой адаптер класс:

public class ImageAdapterAvatar extends BaseAdapter { 



public ImageAdapterAvatar(Context context) { 
     this.context = context; 
    } 

public View getView(int position, View convertView, ViewGroup parent) { 

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View gridView = inflater.inflate(R.layout.avatar, null); 

//do things with my gridwiew 

View bouttonView = inflater.inflate(R.layout.activity_which_contain_my_button,null); 
Button bouttonValidate = (Button) bouttonView.findViewById(R.id.buttonValidate); 

    } 
} 

и моя деятельность Код

protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_which_contain_my_button); 
fragmentAdaptateur = new ImageAdapterAvatar(this); 

в GridView работает, я могу делать то, что я хочу, но кнопка не так, я могу получить элемент, но когда я пытаюсь манипулировать следующим образом:

bouttonValidate.setText("hello world"); 

У меня нет ответа.

Нужна помощь ~~

ответ

0

Проверьте это, может помочь ..

public View getView(int position, View convertView, ViewGroup parent) { 
    View v = convertView; 

     if (null == v) { 
      v = LayoutInflater.from(getContext()).inflate(R.layout.activity_which_contain_my_button, parent, false); 
    }else{ 
    //null Log 
    } 
    return v; 
} 
0

Finaly я цветовой трюк с этим

Activity activity= (Activity) context; 
Button bouttonValidate = (Button) activity.findViewById(R.id.buttonValidate); 

На самом деле я просто преобразовать свой контекст в деятельность и затем вызвать метод findViewById из активности, а затем манипулировать элементами макета

Смежные вопросы