gpt4 book ai didi

Android - 对话框中的微调器不会填充

转载 作者:行者123 更新时间:2023-11-30 02:33:13 26 4
gpt4 key购买 nike

我正在尝试在对话框(弹出窗口)中添加两个微调器。我遇到的问题是填充微调器。我看不到任何错误,如果它在选项卡 fragment 而不是对话框中,则基本上相同的代码有效。

这是不填充对话框内微调器的代码。

public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

LayoutInflater inflater = getActivity().getLayoutInflater();

League league;

league = ((LeagueMainActivity)getActivity()).getLeague();

View v = inflater.inflate(R.layout.diaglog_add_match, null);

Spinner spinner1 = (Spinner) v.findViewById(R.id.spinner_dialog_player1);
Spinner spinner2 = (Spinner) v.findViewById(R.id.spinner_dialog_player2);

String [] items = {"test 1", "test 2"};

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_spinner_item, items);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

Log.d("Spinner: ", "" + spinner1);

spinner1.setAdapter(adapter);
spinner2.setAdapter(adapter);

builder.setView(inflater.inflate(R.layout.diaglog_add_match, null))
.setTitle("Add match")
.setPositiveButton("Create", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
// sign in the user ...
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//LoginDialogFragment.this.getDialog().cancel();
/* do I really need to do anything??? */
}
});

AlertDialog dialog = builder.create();
return dialog;
}

这是在(带标签的) fragment 中工作的代码:

public class UnnamedFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View rootView = inflater.inflate(R.layout.fragment_unnamed, container, false);

Spinner spinner1 = (Spinner) rootView.findViewById(R.id.spinner);

String [] items = {"test 1", "test 2"};

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_spinner_item, items);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

Log.d("Spinner: ", "" + spinner1);

spinner1.setAdapter(adapter);

return rootView;
}

最佳答案

好吧,我做错的是在相同的上下文中膨胀/创建两个独立的 View 。

首先我做了:

 View v = inflater.inflate(R.layout.diaglog_add_match, null);

然后:

builder.setView(inflater.inflate(R.layout.diaglog_add_match, null))

所以我将构建器的 View 设置为新 View ,而不是我用于微调器的 View 。因此,如果我这样做:

View v = inflater.inflate(R.layout.diaglog_add_match, null);
builder.setView(v)

这就是诀窍。

关于Android - 对话框中的微调器不会填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26996478/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com