使用片段时,微调器显示为空

时间:2016-09-17 09:06:58

标签: android android-fragments spinner

我有一个正常活动的微调器,想要尝试在片段中使用微调器,但在片段中,运行时显示为空 example

我在 onCreateView

中的代码
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                     Bundle savedInstanceState) {

View vista =inflater.inflate(R.layout.fragment_pag1,container,false);



    calcular= (Button)vista.findViewById(R.id.button);
    etd=(EditText)vista.findViewById(R.id.editText);
    resultadocp=(TextView)vista.findViewById(R.id.textView3);
    lista = (Spinner)vista.findViewById(R.id.spinner);

String []opciones={"one","two","three","four","five"};

ArrayAdapter adapter = new ArrayAdapter(getActivity(),android.R.layout.simple_list_item_1, opciones);
lista.setAdapter(adapter);    return vista;  }

2 个答案:

答案 0 :(得分:0)

如果只缺少标题和下拉列表,则很容易

spinner.setPrompt("Title"); or xml: android:prompt="@string/title"

顺便说一下你能详细解决问题和xml文件吗

spinner.setOnItemSelectedListener(this);

并覆盖

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    // On selecting a spinner item
    String item = parent.getItemAtPosition(position).toString();

    // Showing selected spinner item
}  

答案 1 :(得分:0)

示例一:

您可以使用此

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_spinner_item, opciones);
adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
lista.setAdapter(adapter);

`Insted of

ArrayAdapter adapter = new ArrayAdapter(getActivity(),android.R.layout.simple_list_item_1, opciones);
lista.setAdapter(adapter);

示例二:

创建微调器xml

<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

将您的微调器字符串添加到string.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="string_array">
    <item>one</item>
    <item>two</item>
    <item>three</item>
    <item>four</item>
    <item>five</item>
</string-array>

将此代码添加到您的片段

Spinner spinner = (Spinner)lista.findViewById(R.id.spinner);

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this.getActivity(),
    R.array.string_array, android.R.layout.simple_spinner_item);

 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

试试吧...... 我希望它适合你...