gpt4 book ai didi

java - 动态创建微调器

转载 作者:太空狗 更新时间:2023-10-29 13:38:31 25 4
gpt4 key购买 nike

我一直在努力动态地创建一个微调器。我在页面上有它,但每次我尝试选择一个选项时它都会爆炸。我的原始代码在底部。我通过将 addSpinner() 函数移到内部类之外并更改

来修复它
Spinner newSpinner = new Spinner(getApplicationContext());

Spinner newSpinner = new Spinner(this);

它是固定的,但我不知道它最初不起作用的原因。谁能解释一下? (如果这是一个菜鸟问题,我深表歉意——我是 Java 和 Android 的新手)

public class SpotManageActivity extends Activity
{
private SimpleCursorAdapter mSpots;

@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.reminder_manage_activity);

Button add_new_button = (Button) findViewById(R.id.add_new_spot_button);
add_new_button.setOnClickListener(new ButtonOnClickListener());

}

public class ButtonOnClickListener implements View.OnClickListener
{
@Override
public void onClick(View v)
{
addSpinner();
}

private void addSpinner()
{
LinearLayout layoutHolder =
(LinearLayout) findViewById(R.id.layout_holder);

LinearLayout spinnerHolder = new LinearLayout(getApplicationContext());
spinnerHolder.setOrientation(LinearLayout.HORIZONTAL);

spinnerHolder.setLayoutParams(
new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT, 1f));
Spinner newSpinner = new Spinner(getApplicationContext());
newSpinner.setLayoutParams(
new Spinner.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
newSpinner.setAdapter(mSpots);

layoutHolder.addView(spinnerHolder);
spinnerHolder.addView(newSpinner);

// A non-internal spot was selected
}

}

}

最佳答案

我一点也不确定,但是如果在堆栈跟踪中您得到了关于错误上下文的信息,这可能是因为单击 Spinner 会打开一个对话框,而对话框需要一个 Activity 上下文。

更多信息:

关于java - 动态创建微调器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8379111/

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