繁体   English   中英

将一类的方法调用到另一类:Android

[英]calling methods of one class to another : Android

我有两个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);


   }
}

您的第二堂课的名字是NewActivity

但您的意图是召集不同的班级。

您还可以创建MainActivityNewActivity扩展并在其中添加方法的基本活动。

例如:

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..
    {
      ...

    }
    }

-> Intent nextIntent=new Intent(getApplicationContext(),New.class);

替换为

Intent nextIntent=new Intent(getApplicationContext(),NewActivity.class);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM