【发布时间】:2015-02-18 17:11:32
【问题描述】:
有关该主题的所有教程似乎都假设您正在使用基本活动来检索电池信息。我正在尝试从片段活动中获取信息。我已经弄清楚这是如何在单个活动中获得我正在寻找的东西。
public class Main extends Activity {
private TextView batteryTxt;
private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context ctxt, Intent intent) {
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
batteryTxt.setText(String.valueOf(level) + "%");
}
};
@Override
public void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.main);
batteryTxt = (TextView) this.findViewById(R.id.batteryTxt);
this.registerReceiver(this.mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
}
但是,我无法弄清楚需要进行哪些更改才能使其适合片段活动,因为它似乎是一个稍微不同的过程。
public class HomeFragment extends Fragment {
public HomeFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
return rootView;
}
}
【问题讨论】:
-
将
mBatInfoReceiver移动到HomeFragment并在onCreateView中调用registerReceiver。
标签: java android fragment battery