スワイプ ビューを備えたアプリケーションがあり、単一の main.xml ではなく複数の tabs.xml があります。このため、たとえば2番目のタブのテキストビューに何かを表示したい場合は、次の部分を書きました。
public static class TabFragment extends Fragment {
public static final String ARG_OBJECT = "object";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Bundle args = getArguments();
int position = args.getInt(ARG_OBJECT);
int tabLayout = 0;
switch (position) {
case 0:
tabLayout = R.layout.tab1;
break;
case 1:
tabLayout = R.layout.tab2;
break;
case 2:
tabLayout = R.layout.tab3;
break;
}
View rootView = inflater.inflate(tabLayout, container, false);
if (tabLayout == R.layout.tab2) {
TextView CPUinfo = (TextView) rootView.findViewById(R.id.CPUinfo);
CPUinfo.setText(getCPUinfo());
}
return rootView;
}
}
すべてがうまくいきます。今...私はメモリ情報のためのこのコードを持っています:
MemoryInfo mi = new MemoryInfo();
ActivityManager activityManager = (ActivityManager) appContext.getSystemService(Activity.ACTIVITY_SERVICE);
activityManager.getMemoryInfo(mi);
long availableMegs = mi.availMem / 1048576L;
memoryinfos
そして、たとえば常に2番目のタブにあるテキストビュー(IDがどこにある可能性があるか)に表示したいと思います。このコードを に入れようとしましif (tabLayout == R.layout.tab2)
たが、常にエラーが発生しgetSystemService
ます。どのようにできるのか?