2014-09-05 2 views
1

왜 프래그먼트가 스피너를 지원하지 않습니까? 나는 다음의 조각 클래스를 가지고 그것에 스피너를 추가했다.프래그먼트의 스피너 변경시 가치를 얻으려면 어떻게해야합니까?

public class SettingFragment extends Fragment { 
Spinner spinner1; 
public List<String> genderitems, titleitems; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    View rootview = inflater.inflate(R.layout.settinglayout, container, 
      false); 
    spinner1 = (Spinner) rootview.findViewById(R.id.usertitle); 

    titleitems = new ArrayList<String>(); 

    setTitleSpinnerContent(rootview); 

    titleitems.add("Beginner"); 
    titleitems.add("Novice"); 

    return rootview; 

} 

private void setTitleSpinnerContent(View view) { 

    ArrayAdapter<String> adp = new ArrayAdapter<String>(getActivity(), 
      android.R.layout.simple_dropdown_item_1line, titleitems); 
    adp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner1.setAdapter(adp); 
}} 

선택시 회 전자 변경 값을 얻고 회 전자에 텍스트 뷰를 추가하는 방법. 여기에 내가 누락 된 부분이 무엇입니까? 미리 감사드립니다.

나는 심지어 onitemselectedlistener()를 추가하려했지만 결과도 nil입니다.

답변

3

activityfragment에 스피너를 추가 할 때 차이가 없습니다. u는 회 전자 항목이 listener는 다음과 같이 구현 변경된 얻고 싶다면 ..

spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 
    public void onItemSelected(AdapterView<?> parent, View view, int pos, 
     long id) { 

    Toast.makeText(parent.getContext(), 
      "On Item Select : \n" + parent.getItemAtPosition(pos).toString(), 
      Toast.LENGTH_LONG).show(); 
     } 

    @Override 
    public void onNothingSelected(AdapterView<?> arg0) { 
    // TODO Auto-generated method stub 

    } 
}  
+0

아니요, 같은 결과가 없습니다. – ManishSB

+0

전체 코드를 업데이트하십시오 .. 그러면 우리가 알아낼 수 있습니다 .. – ImMathan

+0

결과를 업데이트 한 결과입니다 – ManishSB

0

을 나는 특정 문제가 무엇인지에 조금 혼란 스러워요, 그러나 문제는 당신이 당신의 회 전자는 인구가보고되지 않습니다 경우 'Beginner'및 'Novice'값을 사용하면 어댑터를 빈 목록에 설정 한 다음 어댑터를 설정 한 후 항목을 목록에 추가 한 것처럼 보입니다. 하지만 어댑터에서 notifyDataSetChanged()를 호출하지 않았으므로 새 값을 알 수 없습니다. 어댑터를 설정하기 전에 목록에 항목을 추가하는 간단한 해결책을 시도해 보셨습니까?

titleitems.add("Beginner"); 
    titleitems.add("Novice"); 
    setTitleSpinnerContent(rootview); 
+0

대답 주셔서 고마워요. @ 로라,하지만 위의 1 나를 위해 일했다. – ManishSB

관련 문제