getIntent 错误,无法识别

Posted

技术标签:

【中文标题】getIntent 错误,无法识别【英文标题】:getIntent error, doesnt get recognized 【发布时间】:2015-04-29 05:57:37 【问题描述】:

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;
    


【问题讨论】:

【参考方案1】:

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

Intent intent = getIntent();

编辑:

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

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

【讨论】:

【参考方案2】:

错误:找不到符号变量getIntent

首先,getIntent 是方法而不是变量,所以称它为:

Intent intent = getIntent();

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

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

【讨论】:

好的,我已经做到了,但是现在我得到了这个错误:非静态方法 getIntent() 不能从静态上下文中引用。我做错了什么? 你是这个意思?意图意图 = Results.getIntent(); int[] barva = intent.getIntArrayExtra("barva"); 这是我调用它的地方,但它不在 onCreate..: Intent intent3 = new Intent(Game.this, MyAdapter.class); int [] barva2 = Arrays.copyOf(barva, g); intent3.putExtra("barva", barva2); startActivityForResult(intent3, 1); 我怎样才能将数组 int 传递给 MyAdapter? @Everlastinf: 显示将 MyAdapter 适配器添加到 ListView 的代码【参考方案3】:

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

你的类的公共类名扩展了 AppCompatActivity

【讨论】:

以上是关于getIntent 错误,无法识别的主要内容,如果未能解决你的问题,请参考以下文章

argparse 错误:无法识别选项

Tkinter 错误:无法识别图像文件中的数据

是啥导致 MS Visual Studio 无法识别构建错误?

Google Maps API 错误:MissingKeyMapError - 我有,但无法识别

Pyopengl 给我价值错误无法识别问题

权限错误 github(ssh 密钥无法识别)