Java 如何知道从数组中选择了哪个字符串?

Java 如何知道从数组中选择了哪个字符串?,java,android,Java,Android,我写了一个应用程序,显示StartApp的广告。 StartApp没有创建不同广告id的选项,因此我在他们的面板中创建了两个不同的应用程序,并编写了一个随机选择应用程序id的方法,但问题是,我如何知道显示了哪个应用程序id广告。我想签入日志,但想不通 这是我的广告代码: public static void ShowAutoMethod (Context context) { String[] array = context.getResources().getStri

我写了一个应用程序,显示StartApp的广告。 StartApp没有创建不同广告id的选项,因此我在他们的面板中创建了两个不同的应用程序,并编写了一个随机选择应用程序id的方法,但问题是,我如何知道显示了哪个应用程序id广告。我想签入日志,但想不通

这是我的广告代码:

    public static void ShowAutoMethod (Context context) {

        String[] array = context.getResources().getStringArray(R.array.irID);
        String randomStr = array[new Random().nextInt(array.length)];

        StartAppSDK.init(context, randomStr, true);

        final StartAppAd startAppAd = new StartAppAd(context);

        startAppAd.loadAd(StartAppAd.AdMode.AUTOMATIC, new AdEventListener() {
            @Override
            public void onReceiveAd(Ad arg0) {
                startAppAd.showAd();
            }

            @Override
            public void onFailedToReceiveAd(Ad ad) {

            }

        });
    }
数组:

<resources>
    <string-array name="irID">
        <!-- First APP ID -->
        <item>000000000</item>
        <!-- Second APP ID -->
        <item>111111111</item>
    </string-array>
</resources>

000000000
111111111
我希望它在日志中打印所选的应用程序id


非常感谢您的帮助,谢谢

使用randomStr的值创建日志语句:

Log.d("MY_LOG_TAG", "The selected string is " + randomStr);

使用randomStr的值创建日志语句:

Log.d("MY_LOG_TAG", "The selected string is " + randomStr);

不熟悉所有这些是如何工作的,但这里只是一个想法,您是否可以使用一个自定义的
AdEventListener
类来配置所选的id

class CustomAdEventListener extends AdEventListener {

    private String id;

    public CustomAdEventListener(String id) {
        this.id = id;
    }

    @Override
    public void onReceiveAd(Ad arg0) {
        // Log your id here
        startAppAd.showAd();
    }
}
然后在这里使用它:

startAppAd.loadAd(StartAppAd.AdMode.AUTOMATIC, new CustomAdEventListener(randomStr));

不熟悉所有这些是如何工作的,但这里只是一个想法,您是否可以使用一个自定义的
AdEventListener
类来配置所选的id

class CustomAdEventListener extends AdEventListener {

    private String id;

    public CustomAdEventListener(String id) {
        this.id = id;
    }

    @Override
    public void onReceiveAd(Ad arg0) {
        // Log your id here
        startAppAd.showAd();
    }
}
然后在这里使用它:

startAppAd.loadAd(StartAppAd.AdMode.AUTOMATIC, new CustomAdEventListener(randomStr));


这里没有
ArrayList
ArrayList
是一种包装基元数组的结构,它增加了对动态调整大小等的支持。您只是在使用常规基元数组。@Michael感谢您让我知道并编辑了它,我对它很陌生。don;你没有把那个字符串存储在随机序列中吗?当然。这没什么大不了的,我只是想澄清一下。检查我的数组@vladyslavmatviienko这里没有
ArrayList
ArrayList
是一种包装基元数组的结构,它增加了对动态调整大小等的支持。您只是在使用常规基元数组。@Michael感谢您让我知道并编辑了它,我对它很陌生。don;你没有把那个字符串存储在随机序列中吗?当然。这没什么大不了的,我只是想澄清一下。检查一下我的数组@VladyslavMatviienkoI确实添加了这个,但这不显示该数组中的随机字符串吗?我希望日志显示显示显示广告时选择的应用程序ID。是的,这显示了从数组中选择的随机字符串,以及您初始化广告时使用的随机字符串。不,为了测试目的,我编写了另一个数组,并传递了“randomStr”在日志中,它显示了这一个的字符串,但广告是从现有阵列加载的。您是否将选择的randomStr更改为测试阵列?感谢您的时间和精力,但我已经让它工作了。检查回答的响应。我确实添加了这个,但这不显示该数组中的随机字符串吗?我希望日志显示显示显示广告时选择的应用程序ID。是的,这显示了从数组中选择的随机字符串,以及您初始化广告时使用的随机字符串。不,为了测试目的,我编写了另一个数组,并传递了“randomStr”在日志中,它显示了这一个的字符串,但广告是从现有阵列加载的。您是否将选择的randomStr更改为测试阵列?感谢您的时间和精力,但我已经让它工作了。检查回答的响应。日志为空,必须使用“实现”,因为扩展它不起作用。稍微改变了你的想法,使它起作用。谢谢很酷,我不知道AdEventListener是一个抽象类还是一个接口。日志是空的,必须使用“实现”,因为扩展它不起作用。稍微改变一下你的想法,使它起作用。谢谢很酷,我不知道AdEventListener是抽象类还是接口。