Android 如何从活动调用自定义视图中的用户定义方法
我想从NewGame活动调用Gameview类中定义的start方法。基本上,我想添加onclicklistener,并想在每次单击按钮时执行start()方法中指定的任务 活动:Android 如何从活动调用自定义视图中的用户定义方法,android,Android,我想从NewGame活动调用Gameview类中定义的start方法。基本上,我想添加onclicklistener,并想在每次单击按钮时执行start()方法中指定的任务 活动: public class NewGame extends Activity implements OnClickListener { GameView gameview; @Override public void onCreate (Bundle savedInstanceState) { super
public class NewGame extends Activity implements OnClickListener {
GameView gameview;
@Override
public void onCreate (Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//gameview=new GameView(this);
setContentView(R.layout.activity_new_game);
View startbutton=findViewById(R.id.start_button);
startbutton.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.start_button:
gameview.start(this);
}
}
视图:
您的
gameView
对象当前为null
。如果在XML
布局文件中有它,则应在onCreate
中用如下行实例化它:
gameView = (GameView) findViewById(R.id.gameView);//where gameView is the id specified in your layout file (R.layout.main, or something)
如果它不在布局文件中,则需要实例化它并将其添加到布局中:
gameView = new GameView(this);
gameView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
ViewGroup content = (ViewGroup) findViewById(android.R.id.content).getRootView();
content.addView(gameView);
现在您将不会出现空指针异常,您的gameview将填满屏幕。是什么阻止您调用它?谢谢,先生。先生,我还想知道我的视图的最大宽度和高度。我该如何操作?@user2586942签出
gameView = new GameView(this);
gameView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
ViewGroup content = (ViewGroup) findViewById(android.R.id.content).getRootView();
content.addView(gameView);