正如主题所说,我怎样才能让第一个项目变为空?
就像现在一样,我在旋转器的第一个位置始终从一开始就选择了一个值。这意味着应用程序直接转到第二个活动,并且没有机会在列表中选择其他项目。
我已将所有字符串保存在string.xml中的String数组中。 MainActivity中的代码如下所示;
spinner = (Spinner) findViewById(R.id.spinner);
adapter = ArrayAdapter.createFromResource(this, R.array.country_names, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
((TextView) parent.getChildAt(0)).setText(null);
((TextView) parent.getChildAt(0)).setTextColor(Color.BLACK);
((TextView) parent.getChildAt(0)).setTextSize(23);
Spinner mySpinner = (Spinner)findViewById(R.id.spinner);
String txtFromSpinner = mySpinner.getSelectedItem().toString();
if (txtFromSpinner.equals("Denmark")) {
//Go to Denmark activity
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
正如您所看到的,应用程序从MainActivity开始,但由于Denmark是strings.xml中的第一个String,因此该应用程序直接进入“丹麦活动”。
答案 0 :(得分:0)
在string.xml上添加一个空字符串项,如下所示:
setSelection(position, false);
<强> UPDATE2 强>
或者您可以在setOnItemSelectedListener(listener)
spinner = (Spinner) findViewById(R.id.spinner);
adapter = ArrayAdapter.createFromResource(this, R.array.country_names, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
spinner.setAdapter(adapter);
setSelection(0, false);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
((TextView) parent.getChildAt(0)).setText(null);
((TextView) parent.getChildAt(0)).setTextColor(Color.BLACK);
((TextView) parent.getChildAt(0)).setTextSize(23);
Spinner mySpinner = (Spinner)findViewById(R.id.spinner);
String txtFromSpinner = mySpinner.getSelectedItem().toString();
if (txtFromSpinner.equals("Denmark")) {
//Go to Denmark activity
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
所以请将代码更新为:
Container out = new DefaultMp4Builder().build(video);
FileOutputStream fos;
try {
fos = new FileOutputStream(filename);
out.writeContainer(fos.getChannel());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}