2012-04-25 4 views
0

обычно мы используемчто контекст для пользовательского адаптера в onScrollListener

adapter = new CustomArrayAdapter(this, R.layout.feed_items, R.id.label, feed_products_list); 

, но если мы в методе setOnScrollListener или что-то подобное, что не позволит «это» в качестве параметра так, что я должен дать Чет? Должен ли я добавить новый конструктор для моего настраиваемого адаптера массива с помощью onScrollListener в качестве параметра?

+0

YourActivity.this? – Style

ответ

2

Вы можете использовать три вещи,

MyActivity.this 
getApplicationContext() 
this 

Используйте их с умом :)

1

Что я обычно делаю в этом случае, это создать приватную переменную экземпляра класса класса для класса активности и настроить его в onCreate.

, что переменная может быть использована в качестве контекста внутри частных внутренних onClickListeners и т.д.

отредактирован, чтобы привести пример

Public class MyClass extends Activity { 

private static MyClass instance; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    instance = this; 
... 
    mVideoView.setOnKeyListener(new View.OnKeyListener() { 
     public boolean onKey(View v, int keyCode, KeyEvent event) { 
      adapter = new CustomArrayAdapter(instance, R.layout.feed_items, R.id.label, feed_products_list); 
.... 

и т.д.

+0

установить его в контекст ??? – Housefly

+0

частный контекст someContext; ........ затем in onCreate() ... someContext = this; ???? – Housefly

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