私はAndroidに比較的慣れていないので、カスタムビューでプログラムで定義された相対レイアウト(フラグメントで定義)にアクセスする方法に完全に固執しています。
フラグメントでは、これは私が持っているものです:
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment1, container,false);
RelativeLayout rl1 = new RelativeLayout(view.getContext());
TextView tView1 = new TextView(view.getContext());
tView1.setText("test");
rl1.addView(tView1);
rl1.setId(1);
tView1.setId(2);
...
}
次に、カスタムビューで、IDによって相対レイアウトとTextViewを呼び出します。何かをしようとすると、NullPointer例外が発生します。
...
RelativeLayout rl1 = (RelativeLayout) findViewById(1);
TextView tView1 = (TextView) findViewById(2);
tView1.getText();
上記のコードは.getText()
、TextViewを試してみることを示していますが、RelativeLayoutに対して実行すると、NullPointer例外も発生します。
つまり、基本的に、RelativeLayoutとTextViewsが正しく見つからないようです。参考までに、私はすでにこの同様の質問を見ましたが、ここでは当てはまりませんでした。私のコンストラクターはすでに適切に設定されています。