xmlで作成したRelativeLayout alredyにJavaで作成したGridViewを挿入しようとしています。 私が受け取るエラーは "java.lang.UnsupportedOperationException:addView(View)はAdapterViewでサポートされていません"で、アプリケーションがaddView関数を呼び出すたびにアプリケーションがクラッシュします。 私は相対的なLinearLayout instedを作成しようとしましたが、それと同じエラーです。あなたはグリッドビューに相対的なレイアウトを追加しているプログラムで作成したGridViewをRelativeLayoutに追加する
RelativeLayout RelView;
private void addButton() {
RelView = (RelativeLayout) findViewById(R.id.RL);
GridView GV = new GridView(this);
GV.setLayoutParams(new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
));
GV.setColumnWidth(100);
GV.setNumColumns(GridView.AUTO_FIT);
GV.setStretchMode(GridView.STRETCH_COLUMN_WIDTH);
GV.addView(RelView);//<-----Problem here
GridAdapter adapter = new GridAdapter(Main3Activity.this,IconsL,Icons2L,nstring);
RelatLayout.setAdapter(adapter);
RelatLayout.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, android.view.View view, int position, long id) {
showMessage("ss", "click"+position);
}
});
}
あなたは 'RelView.addView(GV)'を意味しますか? – nandsito
最初のことは、あなたのXMLでは、相対レイアウト(id = RL)の終了タグが見つからないということです。それを修正した後、すべてのアダプタを設定した後にグリッドビューをrlビューに追加します。 – eshb