从片段中的活动获取布尔值

时间:2017-09-18 21:06:32

标签: java android android-fragments

这个问题尚未被提出,这很奇怪。

我需要检查我的活动中的手机存储空间并在我的片段中获取返回的值

/*MainActivity*/
boolean hasLowStorage(){
    IntentFilter lowStorageFilter = new IntentFilter(Intent.ACTION_DEVICE_STORAGE_LOW);
    return registerReceiver(null, lowStorageFilter) != null;
}

从活动中调用void方法时,我们这样做:

 /*fragment*/
((MainActivity) getActivity()).yourMethod();

我们如何从片段中调用布尔情况中的值?

3 个答案:

答案 0 :(得分:2)

将方法范围更改为公开,然后重试。

// MainActivity

public boolean hasLowStorage(){
        IntentFilter lowStorageFilter = new IntentFilter(Intent.ACTION_DEVICE_STORAGE_LOW);
        return registerReceiver(null, lowStorageFilter) != null;
    }

//片段

    boolean bolValue = ((MainActivity) getActivity()).hasLowStorage();

答案 1 :(得分:1)

试试这个:

boolean yourValue = ((MainActivity) getActivity()).hasLowStorage();

答案 2 :(得分:0)

让它像这样公开静态

 /*MainActivity*/
 public static boolean hasLowStorage(){
 IntentFilter lowStorageFilter = new 
 IntentFilter(Intent.ACTION_DEVICE_STORAGE_LOW);
 return registerReceiver(null, lowStorageFilter) != null;
 }

并称之为

 boolean yourValue = 
 MainActivity.hasLowStorage();

快乐编码:)