为什么当我单击按钮创建另一个按钮时,第一个按钮无法再单击?

时间:2014-07-20 06:39:15

标签: android button nullpointerexception

我正在学习如何使用SurfaceView作为Android应用程序的教程。最初只有一个按钮swapBtn可以激活黑色或白色圆圈。但是,我尝试修改它,所以一旦点击它,就会出现另一个按钮other。但是,一旦我执行此操作,就无法再单击第一个按钮swapBtn以在动画白色和黑色球之间切换。我在调试控制台中也遇到错误:

主题并[d 1为卤素; main](Suspended(异常NullPointerException))

如何解决此问题,以便在仍然可以单击第二个按钮的同时显示第二个按钮。这是相关的代码。任何建议将不胜感激。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_surface_view);

    swapBtn = (Button) findViewById(R.id.buttonswap);


    surface = (SurfaceView) findViewById(R.id.mysurface);
    holder = surface.getHolder();

    thread = new Thread(this);
    thread.start();
    swapBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            /** SWAP ANIMATION LEFT OR RIGHT CIRCLE*/
            left = !left;

            if (other.getVisibility() == View.VISIBLE)
            {
                other.setVisibility(View.GONE);
            }
            else if(other.getVisibility() == View.GONE)
            {
                other.setVisibility(View.VISIBLE);
            }
        }
    });
}

1 个答案:

答案 0 :(得分:0)

您需要声明“其他”按钮:

other = (Button) findViewById(R.id.buttonother);