3
我很努力地动态创建微调框。我在页面上有它,但每次我试图选择一个选项,它会炸毁。我的原始代码位于底部。我固定它通过移动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
}
}
}
代码审查是严格的改进工作代码。修复关于代码工作方式/原因的代码或问题不属于此处。如果您希望获得进一步的帮助,只要您明白,随时可以将其恢复。 –