我正在学习如何使用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);
}
}
});
}
答案 0 :(得分:0)
您需要声明“其他”按钮:
other = (Button) findViewById(R.id.buttonother);