如何在Activity中调用带参数的方法?

问题描述 投票:0回答:1

我一直在尝试许多代码来调用方法但是当我用参数调用方法时它会给我一个错误。我怎么用BroadcastReceiver或其他class的参数调用这个方法!?

更新

错误我不能用myMethod(View view);调用方法

这一切都很完美。现在我需要的是我必须调用一个带有参数Activity的方法这个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上创建类我前面的代码:

广播接收器

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

有什么想法来解决我的问题?

java android broadcastreceiver
1个回答
0
投票

你可以把一个标志值放到intent上,然后在你的activity类中创建一个mehtod,它可以通过标志值显示不同的toast UI。

© www.soinside.com 2019 - 2024. All rights reserved.