-1

我一直在這個很長一段時間,我無法得到它的工作......我有一個在我的類,它擴展片段日期列表填充的微調。但是,當我從下拉菜單中選擇其中一個日期時,什麼都不會發生。它應該改變文本視圖的文本,並顯示在微調框中選擇的項目...微調不會選擇項目

我一直在閱讀其他Spinners的例子,有人說它不能點擊,但然後我不能打開微調。 ..

我也看到了例子說,在通過「本」創建適配器,但我開始得到一個錯誤,指出「不能化解的構造......」

也有人說用「微調時.setOnItemSelectedListener(新OnItemSelectedListener(){});而Android工作室「無法解析符號」

這裏是我的代碼,我將應用程序。請回復任何幫助。我被卡住了,不能從這裏繼續前進!

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    rootview = inflater.inflate(R.layout.fragment_deadline, container, false); 
    super.onCreate(savedInstanceState); 

    dates = new ArrayList<String>(); 
    registrationDates = new ArrayList<String>(); 
    deadlineDates = new ArrayList<String>(); 

    GetDeadlineDates getDeadlineDates = new GetDeadlineDates(); 
    getDeadlineDates.execute(); 

    deadlineDateText = (TextView) rootview.findViewById(R.id.deadlineDateText); 

    deadlineSpinner = (Spinner) rootview.findViewById(R.id.deadlineSpinner); 
    deadlineAdapter = new ArrayAdapter<String> 
      (rootview.getContext(), android.R.layout.simple_spinner_item, registrationDates); 
    deadlineAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    deadlineSpinner.setAdapter(deadlineAdapter); 

    deadlineSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) { 
      int pos = deadlineSpinner.getSelectedItemPosition(); 
      deadlineAdapter.notifyDataSetChanged(); 
      deadlineDateText.setText(deadlineDates.get(pos)); 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parentView) { 

     } 
    }); 

    final Button registrationButton = (Button) rootview.findViewById(R.id.registrationButton); 
    registrationButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
     } 

    }); 

    return rootview; 
} 

XML的微調:

<Spinner 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/deadlineSpinner" 
    android:spinnerMode="dropdown" 
    android:layout_marginTop="40dp" 
    android:layout_marginLeft="15dp" 
    android:layout_marginRight="15dp" 
    android:layout_below="@+id/deadlineInfoText" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:clickable="false" 
    android:gravity="center_horizontal" 
    android:descendantFocusability="blocksDescendants" 
    android:focusable="false" /> 

回答

0

你爲什麼找位置,當機器人給你位置上了自己的

deadlineSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
    @Override 
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) { 
     //int pos = deadlineSpinner.getSelectedItemPosition(); //why find position here? 
     deadlineAdapter.notifyDataSetChanged(); 
     deadlineDateText.setText(deadlineDates.get(position)); 
    } 

    @Override 
    public void onNothingSelected(AdapterView<?> parentView) { 

    } 
}); 
+0

感謝擡起頭@Neal!我看到其他例子這樣做...雖然它是多餘的。但是,即使我在Log.i()語句中查看是否選擇了一個項目,它也不會打印,所以我知道這與它無關。 – Braulio

+0

發佈您的logcat可能有助於 –

+0

'deadlineDateText.setText(parentView.getItemAtPosition(位置)的ToString())'可能會解決你的問題。 –

相關問題