getIntent错误,无法识别

时间:2015-02-26 17:59:55

标签: android

getIntent没有得到认可,我做错了什么?

我收到此错误:

  

错误:找不到符号变量getIntent

PS:首先我得到了这个错误,找不到符号方法getIntent。

我的代码:

package com.example.r.app;

import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

import java.util.List;


public class MyAdapter extends ArrayAdapter<String> {

    int i=0;

    public MyAdapter(Context context, int resource, List<String> objects) {
        super(context, resource, objects);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = super.getView(position, convertView, parent);
        TextView textView = (TextView) view.findViewById(android.R.id.text1);

        Intent intent = getIntent;
        int[] barva = intent.getIntArrayExtra("barva");

        int[] bar = {1, 2, 3};

        if (position == i) {
            if (barva == bar){
                textView.setTextColor(0xffcc80);
            }
            else if (barva == bar){
                textView.setTextColor(0xa5d6a7);
            }
            else if (barva == bar){
                textView.setTextColor(0x80deea);
            }

        }
         return view;
    }

}

3 个答案:

答案 0 :(得分:3)

  

错误:找不到符号变量getIntent

首先,getIntent是方法而不是变量,因此将其命名为:

Intent intent = getIntent();

其次,getIntent()方法来自Activity类而不是ArrayAdapter类,因此此方法在扩展ArrayAdapter的类中不可用。

从Activity中调用getIntent()方法,其中创建MyAdapter的对象并将intent作为参数传递给构造函数。

答案 1 :(得分:2)

getIntent是一种方法。在活动中尝试:

Intent intent = getIntent();

编辑:

我没有真正注意到你在适配器里面。如果您的上下文与活动相关,则必须略有不同:

Intent intent = ((Activity) context).getIntent();

答案 2 :(得分:0)

或者你可以在你的类声明中写:

public class nameofyourclass extends AppCompatActivity {