到目前为止,我已经能够使用这段代码将一些LinearLayout添加到另一个LinearLayout:
setContentView(R.layout.view_editscore);
ViewGroup container = (ViewGroup) findViewById(R.id.container1);
for (String s : PlayersActivity.playersList) {
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.edit_duplicate, null);
TextView tv = (TextView) view.findViewById(R.id.userName);
tv.setText(s);
container.addView(view);
}
然后我还可以使用以下代码使用R.layout.view_editscore
视图填充自定义AlertDialog:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.editScore);
LayoutInflater in = getLayoutInflater();
builder.setView(in.inflate(R.layout.view_editscore, null));
但出于某种原因,当我使用setView()
将R.layout.view_editscore
放入AlertDialog时,它只添加了作为“外壳”的版本,然后才添加每个LinearLayouts。
我尝试在使用其他LinearLayouts填充View之前和之后构建自定义AlertDialog,但两种方式仍然产生相同的结果。
我可能做错了什么?