私は同様の質問を見てきましたが、まだ回答が見つかりませんでした。私は最終的にはSQLデータベースからデータを取得した後、それぞれView
を追加していきますが、今はレイアウトを追加できるように一連のビューを追加しようとしています。私はタブを流して読み込みを行うフラグメントマネージャーを主な活動としているので、ここでそのコードを提供する必要はないと思います。ここでランタイム中のフラグメント内のTableLayoutへのビューの追加
は、フラグメントのコードです:
public class EconFragment extends Fragment {
private ViewGroup container;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
populateQuestions(container, inflater);
return inflater.inflate(R.layout.econfragment, container, false);
}
public void onPause() {
super.onPause();
container.removeAllViews();
}
private void populateQuestions(ViewGroup v, LayoutInflater inflater) {
container = v;
int count = 10;
int runner = 0;
while (runner < count) {
View question = inflater.inflate(R.layout.question, null);
question.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
container.addView(question, runner);
runner++;
}
}
}
これを容器に複数のQuestion.xmlビューで移入する必要がありながら、だから、私は唯一のショーアップしています。興味深いのは、ランナーがカウントアップするにつれて遅延が観測できることですが、もう一度質問ビューが1つしか表示されないことに注意してください。私が物事を変更すると、私はTableLayout
の周りに多くのヌルポインタを取得するので、私はその部分を削除しました。
最終的にEconFragment
のxmlにはScrollView
のテーブルレイアウトがあり、もう1つはTableLayout
、questionContainerです。
元々、各質問画面をquestionContainer
の行として追加したいと考えていましたが、それは私にあらゆる種類のトラブルを与えています。私はonCreateView()
のreturn文の前にpopulateQuestions()
と呼ぶことに幾分関係があると思いますか?