小编gka*_*war的帖子

Android中的"无法对非静态方法进行静态引用"

我的Android程序中存在旧的"无法对非静态方法进行静态引用"错误的一些问题.我正在创建一个沙子游戏(类似于粉末游戏),我创建了一个名为Control的类,在屏幕底部创建一个控制栏,带有一个用于画笔大小的滑块(工作正常)和一个弹出按钮用于允许用户选择所选元素的对话框.但是,当我从我的代码中调用DemoActivity.showDialog(2)时,它会给出非静态错误的静态引用(DemoActivity是我的应用程序的主要活动).我也尝试将它改为Activity.showDialog(2),但我得到了完全相同的错误!请帮忙,我做错了什么?这是我的代码,并提前感谢:

package sand.falling.opengl;

import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.SeekBar;

public class Control extends LinearLayout
{
    private ImageButton control_button;
    private SeekBar brush_size_slider;

    final CharSequence[] elementslist = {"Sand", "Water", "Plant", "Wall", "Fire", "Ice", "Generator", "Oil", "Magma", "Stone", "C4"};

    public Control(Context context, AttributeSet attrs)
    {
        super(context, attrs);
    }

    @Override
    protected void onFinishInflate()
    {
        control_button = (ImageButton) findViewById(R.id.element_picker_button);
        brush_size_slider = (SeekBar) findViewById(R.id.brush_size_slider);

        control_button.setOnClickListener
            (
                    new OnClickListener()
                    {
                        public void onClick(View v)
                        {
                            //THIS DOESN'T WORK!!!!
                            DemoActivity.showDialog(2); …
Run Code Online (Sandbox Code Playgroud)

java static android

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

java ×1

static ×1