java Android如何启动新活动
我试着用随机颜色做一个靶心,我会用正方形代替圆圈
但问题是,当我在模拟器上运行应用程序时,当他启动新活动时,它停止响应
这是主要活动,是启动DrawActivity的活动
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent coiso = new Intent(this, Draw.class);
startActivity(coiso);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
这是我想开始的绘画活动。(它没有我想做的事情。因为我做不到,问题就在前面)
public class Draw extends View {
public Draw(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
}
}
有人能帮我吗?对不起,我说的是英语
# 1 楼答案
您需要确保更改
Draw extends Activity
据我所知,你不能意欲从事一项没有布局和创建的新活动。 尝试创建一个扩展Activity
的常规活动,并在那里实现绘图然后从那里实现绘图功能。 或者创建一个JAVA类来实现您的绘图需求,并在主屏幕中使用它
# 2 楼答案
您的}而不是
Draw
类需要extend
{View
。当您想要启动一个新的Activity
,即Draw
类时,这意味着它应该扩展Activity
。此外,还需要重写Draw
类中的onCreate()
如果您的Draw类是一个视图,那么我建议您将该视图添加到使用^{} 的
Layout
中# 3 楼答案
startActivity需要一个活动。我建议看一下这些文件 http://developer.android.com/reference/android/app/Activity.html#startActivity(android.content.Intent)
# 4 楼答案
你有这个
您的类不扩展活动
相反,您可以按如下操作
或者使用线性或相对布局,并将其放置在初始化后将绘图视图添加到布局中所需的位置
编辑:
去掉这个
在你的活动中。xml
在你的onCreate中