java - Fragment Activity 中的 Android 电池统计信息

标签 java android fragment battery

有关该主题的所有教程似乎都假设您正在使用基本 Activity 来检索电池信息。我正在尝试从 fragment Activity 中获取信息。我已经弄清楚这就是如何在单个 Activity 中获得我正在寻找的东西。

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));
}
}

但是,我无法弄清楚需要进行哪些更改才能适应 fragment Activity ,因为它似乎是一个略有不同的过程。

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;
}
}

最佳答案

public class HomeFragment extends Fragment {

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) + "%");
}
};

public HomeFragment(){}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.fragment_home, container, false);
    batteryTxt = (TextView) rootView.findViewById(R.id.batteryTxt);
    getActivity().registerReceiver(this.mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    return rootView;
}
}

关于java - Fragment Activity 中的 Android 电池统计信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28589592/

相关文章:

java - 为什么在包含两者的表达式中前缀在后缀之前求值?

android - 单一矢量资源多种色调

java - 生成条形码和条形码下的文本

java - 从另一个 Activity 调用方法(调用 Fragment)

java - HttpUrlConnection addRequestProperty 方法不传递参数

java - DFA 字符串验证

android - fragment onListItemClick

android - fragment 与其他 fragment 重叠

java - 不使用 XML 创建自己的自定义 View

安卓工作室 : Unable to delete original file