どこにでも追加できる「タイマー」であるフラグメントがあります。フラグメントでは、textViewをプログラムで変更し、美しく実行されます。私の問題は、その下の別のメソッドでコンストラクター(?それが正しい用語かどうかわからない)によって膨らんだレイアウトからのビューを使用する場合です。
public class Timer_fragment extends android.support.v4.app.Fragment {
int testpins;
String testedpin;
TextView text;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.timer_frag, container, false);
TextView text = (TextView) v.findViewById(R.id.pwd_status);
text.setText("Setting text in fragment not main");
/* set the TextView's text, click listeners, etc. */
updateStatus();
return v;
}
そのコードはすべてエラーなしで機能しますが、このメソッドを追加しようとすると、次のようになります。
private void updateStatus() {
TextView text = (TextView) findViewById(R.id.pwd_status);
testPin();
text.setText(testedpin);
}
findViewByIdの下に赤い線が表示されますThe method findViewById(int) is undefined for the type Timer_fragment
。
すべてのメソッドでビューを膨らませて返さないことを考えましたが、それは確かにパフォーマンスに何らかの影響を与えるでしょうか?
ビューを使用する前にレイアウトを膨らませようとしましたが、単語にエラーがあり、解決できないinflater
と言っています。container
私はこれについて正しく行っていますか?