活动类中的Android调用方法

时间:2014-12-31 18:09:13

标签: java android class methods

我有一个名为Second.java的java类,它有一个名为toast_method()的方法。 我的问题是,如何从Second.java调用toast_method()然后在应用程序中显示toast消息?

我尝试了以下代码,但它无效

Second.java

package com.example.callmethod;

import android.content.Context;
import android.widget.Toast;

public class Second {

        Context context;

        public Second(Context context) {
            this.context = context;
        }

        public void toast_method() {
            Toast.makeText(context, "Hello", Toast.LENGTH_SHORT).show();

        }

}

MainActivity.java

package com.example.callmethod;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

    private Second myotherclass;

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

                // Calling the method from Second Class
                myotherclass.toast_method();

            }

}

由于

3 个答案:

答案 0 :(得分:3)

你快到了!只是错过了第二堂课的重要实例:

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

            // Calling the method from Second Class
            myotherclass = new Second(this); // <----- this
            myotherclass.toast_method();


        }

答案 1 :(得分:2)

在onCreate中这样做

Second second =new Second(this);
second.toast_method();

答案 2 :(得分:-1)

轻松一个人^^

您必须扩展活动以在活动中使用上下文

public class operation extends Activity {

    // normal toast
    //you can change length
    public static void toast(String toastText, Context contex) {
        Toast.makeText(contex, toastText, Toast.LENGTH_LONG).show();
    }
    // Empty Toast for Testing
    public static void emptyToast(Context contex) {
        Toast.makeText(contex, R.string.EmptyText, Toast.LENGTH_LONG).show();
    }

}

现在...在您的活动中仅调用函数

operation.toast("Your Text",currentClass.this);

示例:

public class currentClass extends Activity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mylayout);

         operation.toast("Hello",currentClass.this);
    }
}