Android:无法从静态上下文引用非静态方法

And*_* D. 0 java android

我已经在互联网上搜索了这个错误的答案:

无法从静态上下文引用非静态方法'getStringExtra(java.lang.String)'

我没有找到任何东西,所以我来到这里.这是我用来添加信息作为额外内容的代码:

Intent OpenList = new Intent(this, ListRandom.class);
OpenList.putExtra("ListItem1",List.get(1));
OpenList.putExtra("ListItem2", List.get(2));
OpenList.putExtra("ListItem3", List.get(3));
OpenList.putExtra("ListItem4",List.get(4));
OpenList.putExtra("ListItem5", List.get(5));
Run Code Online (Sandbox Code Playgroud)

这里有额外的,我得到错误:

    Intent OpenList = getIntent();
    ListItem1 = Intent.getStringExtra("ListItem1");
    ListItem2 = Intent.getStringExtra("ListItem2");
    ListItem3 = Intent.getStringExtra("ListItem3");
    ListItem4 = Intent.getStringExtra("ListItem4");
    ListItem5 = Intent.getStringExtra("ListItem5");
Run Code Online (Sandbox Code Playgroud)

任何帮助都会受到赞赏,因为我正在成长为一名程序员!

cod*_*gic 5

更改

 Intent OpenList = getIntent();
ListItem1 = Intent.getStringExtra("ListItem1");
ListItem2 = Intent.getStringExtra("ListItem2");
ListItem3 = Intent.getStringExtra("ListItem3");
ListItem4 = Intent.getStringExtra("ListItem4");
ListItem5 = Intent.getStringExtra("ListItem5");
Run Code Online (Sandbox Code Playgroud)

 Intent OpenList = getIntent();
ListItem1 = OpenList.getStringExtra("ListItem1");
ListItem2 = OpenList.getStringExtra("ListItem2");
ListItem3 = OpenList.getStringExtra("ListItem3");
ListItem4 = OpenList.getStringExtra("ListItem4");
ListItem5 = OpenList.getStringExtra("ListItem5");
Run Code Online (Sandbox Code Playgroud)

使用Intent您在此处创建的对象

Intent OpenList = getIntent();
Run Code Online (Sandbox Code Playgroud)

就像任何其他类一样,使用Intent.getStringExtra("words");是以某种static方式调用它,如果你查看Intent Docs getStringExtra(String name)不是一个static方法,所以你创建一个实例,如果IntentIntent OpenLIst = getIntent();

此外,为了与Java编程标准,坚持你应该使用大小写混合了变量名称,以便OpenListopenListListItem1listItem1.这对于编译显然不是必需的,但是尝试坚持标准是一个好主意