onScrollListener中自定义适配器的上下文是什么

时间:2012-04-25 10:54:04

标签: android android-emulator

通常我们使用

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

但如果我们在setOnScrollListener方法或类似的东西它不会允许'this'作为参数所以我应该给什么thr? 我应该使用onScrollListener为我的自定义数组适配器添加一个新的构造函数作为参数??

2 个答案:

答案 0 :(得分:2)

你可以使用三件事,

MyActivity.this
getApplicationContext()
this

明智地使用它们:)

答案 1 :(得分: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);
....