如何在Activity中使用参数调用Method?

时间:2019-02-18 03:25:33

标签: java android broadcastreceiver

我已经尝试了许多代码来调用方法,但是当我使用参数调用方法时,会向我发送错误。我如何用BroadcastReceiver或其他class的参数调用此方法!?

更新

我无法使用myMethod(View view);

调用错误

所有这些都能完美地工作。现在,我需要的是调用带有活动参数的方法Broadcast Receiver,在其中创建了自定义Toast

我已经在stack-overflow.com和某些网站/ youtube上阅读了很多答案,但可能无法解决我的问题,也许我不太清楚。

public class MyActivity extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    public void myMethod1(View view){
    //some code custom toast
    finish();

    }
    public void myMethod2(View view){
    //some code custom toast
    finish();
    }

    public void myMethod3(View view){
    //some code custom toast
    finish();
    }
}

我在没有显示的情况下构建了此activity

和我以前的代码可以正常工作,但是我必须在我以前的代码的每个自定义toast上创建类:

BroadcastReceiver

public class myBroadcastReceiver extends BroadcastReceiver {
@Override
    public void onReceive(Context context, Intent intent) {

        if (intent.getAction().equals(Intent.ACTION_POWER_CONNECTED)) {
            Intent i = new Intent(context, MyActivity.class);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);
        }
    }
}

MyActivity

public class MyActivity extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        LayoutInflater inflater = getLayoutInflater();
        View layout = inflater.inflate(R.layout.lowbattery_toast, (ViewGroup) findViewById(R.id.low_battery));
        Toast toast = new Toast(getApplicationContext());
        toast.setGravity(Gravity.BOTTOM, 0, 10);
        toast.setDuration(Toast.LENGTH_LONG);
        toast.setView(layout);
        toast.show();

        finish();
    }
}

我想通过BroadcastReceiver的调用方法在单个活动上创建我的所有自定义toast

有什么办法解决我的问题吗?

1 个答案:

答案 0 :(得分:0)

您可以将标志值放入意图,然后在您的活动类中创建一个方法,该方法可以通过标志值显示不同的Toast UI。