Java Android-从onCreate重新启动部件
在我的程序中,我创建的形状是由列表中的随机颜色填充的。颜色在onCreate中设置。我不希望它有确定的颜色,但要改变颜色多次。如何“重新启动”onCreate部件,以便再次分配颜色Java Android-从onCreate重新启动部件,java,android,Java,Android,在我的程序中,我创建的形状是由列表中的随机颜色填充的。颜色在onCreate中设置。我不希望它有确定的颜色,但要改变颜色多次。如何“重新启动”onCreate部件,以便再次分配颜色 public class MainActivity extends Activity implements OnGestureListener { private Paint paint = new Paint(); @Override
public class MainActivity extends Activity implements OnGestureListener
{
private Paint paint = new Paint();
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Canvas canvas = new Canvas(bg);
List<Integer> numbers = Arrays.asList(Color.RED, Color.BLUE, Color.GREEN, Color.YELLOW);
Collections.shuffle(numbers);
}
}
public类MainActivity扩展活动实现OnTestureListener
{
私人油漆=新油漆();
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
画布=新画布(bg);
列表编号=Arrays.asList(Color.RED、Color.BLUE、Color.GREEN、Color.YELLOW);
收藏。洗牌(数字);
}
}
这可能会对您有所帮助,只需输入您的onResume或您希望从中重新启动oncreate的方法即可
onCreate(new Bundle());
例如,单击这样的按钮
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onCreate(new Bundle());
}
});
如果您试图在从一个活动导航到另一个活动时更改颜色,那么您可能可以尝试在函数中包装更改颜色的代码,并在onResume()中调用该函数(活动的生命周期方法之一)。每次加载活动时都会调用onResume()。这里是诀窍,调用此方法
loadColors();
在oncreate和任何你想要的地方
public class MainActivity extends Activity implements OnGestureListener
{
private Paint paint = new Paint();
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Canvas canvas = new Canvas(bg);
loadColors();
}
private void loadColors(){
List<Integer> numbers = Arrays.asList(Color.RED, Color.BLUE,
Color.GREEN, Color.YELLOW);
Collections.shuffle(numbers);
}
}
public类MainActivity扩展活动实现OnTestureListener
{
私人油漆=新油漆();
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
画布=新画布(bg);
loadColors();
}
私有void loadColors(){
列表编号=数组.asList(Color.RED,Color.BLUE,
颜色。绿色,颜色。黄色);
收藏。洗牌(数字);
}
}
您想什么时候更改颜色?当活动重新启动时,返回前台,单击按钮…?检查以下问题:,可能这就是您要寻找的。我有一个动画部分,我忘在这里了,动画完成后,颜色应该再次交换。但是,如果你告诉我如何使用按钮,我会将其处理为动画,你能提供一些关于包装内容的更多信息吗?我想尝试一下你的代码,但我正在onCreate中创建形状,这些形状是指数字
,因此如果我将其从onCreate部分删除,我会出现错误。那么你的方法可行吗?