首先抱歉我的英语。我知道这不是很好,但我希望你能理解我。我一直在研究这个问题几个小时。我在布局文件中创建了一个微调器,将spinnerMode参数设置为“dialog”:
<Spinner
android:id="@+id/spinner2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/llBarra_list"
android:drawSelectorOnTop = "true"
android:prompt="@string/spinner_title"
android:background="@drawable/btn_dropdown_normal"
android:spinnerMode="dialog"/>
当用户在微调器中按下时,会根据以下内容填充一个ArrayList中定义的一些选项:
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getActivity().getBaseContext(),android.R.layout.simple_spinner_item, listaHashes);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(dataAdapter);
spinner2.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
String text = listaHashes.get(arg2);
lblHash.setText(text);
ArrayList<String> tweetsEsteHash= new ArrayList<String>();
tweetsEsteHash.add(text);
receiveTweets(tweetsEsteHash);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
对话框不会填充父级的宽度和高度,这对我的意图很好。我需要当用户触摸对话框外时,对话框会自动解除。我应该使用自定义微调器对话框创建自定义微调器,还是有一些选项可用于实现此目的?