【问题标题】:How to call a method in Android from onCreate如何从onCreate调用Android中的方法
【发布时间】:2014-03-31 16:31:15
【问题描述】:
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    chustilla();}


public void chustilla (View v){ //Do anything }

当我编译它时,我在 chustilla() 的参数中出现了问题。我该怎么做才能从 onCreate 调用这个方法?

PD:如果我将“this”或“null”放在括号内,它也不起作用

【问题讨论】:

    标签: android methods parameters oncreate


    【解决方案1】:

    chustilla(View) 需要将 View 引用作为参数传递,因此如果您不传递 View 引用,它将不起作用。根据在chustilla(View)(您最熟悉)中所做的事情,您可以从布局中将View 传递给它(也是您最熟悉的)。

    【讨论】:

      【解决方案2】:

      您的方法public void chustilla (View v) 期望传递一个View 对象。但是在onCreate() 中,您只需调用chustilla()。你需要传递一个视图对象。

      【讨论】:

        【解决方案3】:
            public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            chustilla(a);
        }
        
        
        public void chustilla (Int a)
        {
            //your code
        }
        

        【讨论】:

          【解决方案4】:

          尝试以下方法:

          public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              chustilla();
          }
          
          
          public void chustilla ()
          {
              //Do anything 
          }
          

          【讨论】:

          • 如果chustilla()有两三个参数怎么办,onCreate上怎么调用呢?
          【解决方案5】:

          或使用此示例:

          public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
          
              String s;
              chustilla(s);
          }
          
          
          public void chustilla (String v)
          { //write code here }
          

          【讨论】:

          • 但是如果@user3481906 的代码中的//Do anything 一定需要View 怎么办?
          • v 是字符串无视图
          • 这就是我要说的@user3481694。如果@user3481906 的代码需要将View 作为参数传递给chustilla(),该怎么办
          【解决方案6】:

          示例参数“new View(this)”:

          public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              chustilla(new View(this));}
          
          
          public void chustilla (View v){ //Do anything }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-08-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-03-13
            相关资源
            最近更新 更多