【发布时间】:2014-09-10 01:09:11
【问题描述】:
我发现这试图让一个简单的微调器示例工作。它与 minSdkVersion="8" 一起工作,但我无法让当前版本工作。
在下面的代码中,我在下拉菜单中使用 minSdkVersion="10" 获得单选按钮,但使用 minSdkVersion="11" 会丢失它们。
除了缺少 RadioButton 的更改之外,一切正常。我在文档中找不到任何提及更改或有关 Spinner 问题的问题,但我可能在错误的地方寻找并且真的不知道在哪里寻找。
任何帮助表示赞赏。
抱歉发了这么长的帖子……
我的 MainActivity 看起来像:
public class MainActivity extends Activity implements OnItemSelectedListener {
private Spinner createSpinner(int id, String fmtString) {
Spinner spinner = (Spinner) findViewById(id);
spinner.setOnItemSelectedListener(this);
List<String> categories = new ArrayList<String>();
for (int i = 0; i <= 20; i++)
categories.add(String.format(fmtString, i));
ArrayAdapter<String> dataAdapter
= new ArrayAdapter<String>(this
, android.R.layout.simple_spinner_item
, categories);
dataAdapter.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
return spinner;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner s = createSpinner(R.id.layout_spinner, "activity spinner %02d");
// set initial selection to the fifth element (= 06)
s.setSelection(5);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int itemIndex,
long itemId) {
String selectedItem = parent.getItemAtPosition(itemIndex).toString();
Toast.makeText(
parent.getContext()
, "Selected item: \"" + selectedItem + "\""
, Toast.LENGTH_LONG)
.show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
Android 清单如下所示:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.spinnerdemo"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="11" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
布局看起来像:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="${relativePackage}.${activityClass}" >
<Spinner
android:id="@+id/layout_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
【问题讨论】:
-
尝试这样设置:dataAdapter.setDropDownViewResource(android.R.layout.select_dialog_singlechoice);
-
我已经发布了我的答案,如果对您有用,请您批准并投票。