如何在Android开发中将Java方法从一个类调用到另一个类?

时间:2010-11-03 11:57:22

标签: android

我有两个扩展Activity的类,需要在android开发的主类上调用另一个类方法。 我做了类似subclass sub = new subclass()的事情。它不起作用。

在第1活动班

package org.me.intent_testing;

import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.view.*;
import android.content.Intent;

public class FirstActivity extends Activity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

   // Button orderButton = (Button)findViewById(R.id.order);
    Button orderButton = new Button(this);
    orderButton.setOnClickListener(new View.OnClickListener() {

      @Override
      public void onClick(View view) {
        Intent intent = new Intent(FirstActivity.this, secondActivity.class);
        startActivity(intent);
      }

    });
  }
}

在secondActivity类

package org.me.intent_testing;

import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.view.*;
import android.content.Intent;

public class secondActivity extends Activity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
       // setContentView(R.layout.order);


   // Button orderButton = (Button) findViewById(R.id.end);
    Button orderButton =  new Button(this);
    orderButton.setOnClickListener(new View.OnClickListener() {

     @Override
      public void onClick(View view) {
        finish();
      }

    });
  }
}

在AndroidManifest.xml中

<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="org.me.intent_testing">
    <application>
         <activity android:name=".FirstActivity" android:label="FirstActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
         <activity android:name=".secondActivity" />
    </application>

</manifest>

在R.java

package org.me.intent_testing;

public final class R {
    public static final class attr {
    }
    public static final class layout {
        public static final int main=0x7f020000;
    }
    public static final class string {
        public static final int app_name=0x7f030000;
    }
}

我在两个班级之间存在连接问题。

3 个答案:

答案 0 :(得分:2)

我可以知道您为什么要这样做吗? 如果该方法对两个类都非常重要,那么在辅助类(不扩展Activity)中创建它,并在两个类中创建它的对象,然后使用该对象访问该方法。

答案 1 :(得分:2)

SubClass sub=new SubClass();正在创建类SubClass的对象。

这不是一种方法。

在这里输入代码

如果方法是在SubClass类中定义的,那么可以使用它的object和dot操作符来调用它。

sub.MethodName();

答案 2 :(得分:0)

尝试将所需方法标记为静态。但请记住,在这种情况下,被调用的方法不应该依赖于类的方法的任何非静态成员变量。