【问题标题】:Android: Get values from interfaceAndroid:从界面获取值
【发布时间】:2018-09-08 11:58:53
【问题描述】:

我的界面

public interface TimeGetter {
public void setTime(int hour, int minute);}

我已经在我的Activity 中实现了这个接口,并得到了如下所示的小时和分钟

public void setTime(int hour, int minute){
Log.i("hour",hour);
}

工作得很好。

如何获取Activity 中的小时和分钟值?我在activity的接口实现中已经有了。

【问题讨论】:

  • 你需要设置一些可以触发该界面的东西。
  • @jake 我已经从另一个活动触发了界面。 Log.i("小时",小时);工作得很好..
  • @AshutoshChapagain 是的,但是您需要将值存储在字段或数组中,或者将它们传递给另一个将存储它们的类。
  • @AndyTurner 我尝试存储在类的属性中。我仍然不能从我的 onCreate 中敬酒
  • 从界面获取值的含义并不完全清楚。您是否创建了一个实现接口的类,现在您想从该类中获取值?

标签: java android interface


【解决方案1】:

将此添加到您的活动中:

    //Use below variables to set values and access them inside your activity    
        private int hour;
        private int minute;


        @Override
        public void setTime(int hour, int minute){
        Log.i("hour",hour);
       //You can use hour minute value here like setting text to textview etc or set them to instance variable for further use

        this.hour = hour;
        this.minute = minute;
        }

【讨论】:

  • 做到了。在那之后我可以在哪里使用小时,分钟?我尝试在 onResume() 中使用它但失败了。
  • 一旦您在setTime 中获得回调,就会设置这些值,然后您可以使用这些值以相同的方法将文本设置为 textview 等,或者将它们设置为代码中显示的变量,以便在之后使用其他一些操作
【解决方案2】:

您可能会遇到错误,因为您的 Log 调用的参数类型错误。而不是这个:

Log.i("hour", hour);

应该是这样的:

Log.i("hour", String.valueOf(hour));

这是因为LogString 作为参数,而不是int

【讨论】:

    猜你喜欢
    • 2015-09-09
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    相关资源
    最近更新 更多