我有两个java文件Main和New。在主要我有一些从oncreate到表面被破坏的方法。单击其中一个按钮,它将转到“新建”。我在那里调用了相同的xml
文件。但那里没有办法。我想调用oncreate方法,包括New的所有方法。请帮忙
public class Main extends Activity implements SurfaceHolder.Callback {
@Override
protected void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.main);
...............}
buttonStartCameraPreview.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{......}
});
testButton.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v)
{
Intent nextIntent=new Intent(getApplicationContext(),New.class);
startActivityForResult(nextIntent,301);
}
});
第二次类
public class New extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
答案 0 :(得分:1)
您的第二个班级名称为NewActivity
但你的意图是打电话给不同的班级。
答案 1 :(得分:0)
您还可以创建MainActivity
和NewActivity
扩展的基本活动,并将方法放入其中。
例如:
public class BaseActivity extends Activity{
protected void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.main);
...............}
buttonStartCameraPreview.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{......}
});
testButton.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v)
{
Intent nextIntent=new Intent(getApplicationContext(),NewActivity.class);
startActivityForResult(nextIntent,301);
}
});
}
public class MainActivity extends BaseActivity{
onCreate..
{
...
}
}
public class NewActivity extends BaseActivity{
onCreate..
{
...
}
}
答案 2 :(得分:0)
- > Intent nextIntent=new Intent(getApplicationContext(),New.class);
替换为
Intent nextIntent=new Intent(getApplicationContext(),NewActivity.class);