2012-05-23 3 views
2

방금 ​​Eclipse를 사용하여 Android 용 앱을 만들었지 만 모든 기능이 작동하지만 Spinner를 클릭하면 프롬프트가 비어 있지만 값을 선택할 수 있기 때문에 무엇이 있습니까? 그들을 보이게 할 수 있습니까? 그것은 에뮬레이터에서 작동하지만 전화가 아닙니다. 감사합니다!Spinner의 프롬프트에 항목이 표시되지 않습니다.

빈 칸은 프롬프트이며 값은 있습니다. : S

String sqlSelect = "SELECT id, name, password FROM password"; 
    Cursor c = db.rawQuery(sqlSelect, null);    


    Spinner sp1 = (Spinner)findViewById(R.id.spinner1); 
    ArrayAdapter<String> ad = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item); 
    ad.setDropDownViewResource(android.R.layout.simple_spinner_item); 
    sp1.setAdapter(ad);   

    System.out.println("Total of records is:" + c.getCount()); 

    if(c.moveToFirst()){ 
     int i = 0; 

     while(c.moveToNext()){ 
      ad.add(c.getString(c.getColumnIndex("name")));    
      i++; 
     } 
    }   

레이아웃 :

http://img163.imageshack.us/img163/659/cap201205222344.jpg

+0

코드 및 xml 레이아웃 파일을 게시 할 수 있습니까? –

+0

코드 추가됨! 감사! – saman0suke

답변

1

내가로부터 서브 클래스를 사용하여 결국 내

ArrayAdapter<String> ad = new ArrayAdapter<String>(this,  android.R.layout.simple_spinner_item){ 
     @Override 
     public View getDropDownView(int position, View convertView, ViewGroup parent) { 
      View view = super.getDropDownView(position, convertView, parent); 

      TextView text = (TextView)view.findViewById(android.R.id.text1); 
      text.setTextColor(Color.BLUE); 

      return view; 
     }   
    }; 

지금이 항목을 볼 수 있습니다,하지만 난 에뮬레이터 만의 항목을 볼 수 있었다 난 아직도 왜 궁금 비 전화 자체를 ... 감사합니다! : ArrayAdapter와는, 예를 들어 I에 따라 발견

0

당신은 notifyDataSetChanged()를 사용할 수있는 회 전자의 다시 그리기를 야기한다 :

<Spinner 
    android:id="@+id/spinner1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 
    <!-- Preview: [email protected]:layout/simple_spinner_item --> 
</Spinner> 

여기 이미지입니다.

if(c.moveToFirst()){ 
    int i = 0; 
    while(c.moveToNext()){ 
     ad.add(c.getString(c.getColumnIndex("name")));     
     i++; 
} 
ad.notifyDataSetChanged(); 
1

회 전자에서 일부 행을 표시하는 것은 데이터베이스에서 가져 오는 값을 의미하지만 회 전자 항목의 배경색을 변경해야합니다.

텍스트 크기 및 배경 크기 당신이 그렇게 스피너 항목을 사용자 정의 어댑터를 사용하여 회 전자를 만들거나 변경하려고 스피너 뷰 내부의 텍스트를 볼 수없는, 그래서 모두 흰색입니다

ad.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
관련 문제