2017-02-27 12 views
2
public class MainActivity extends AppCompatActivity { 
DatabaseReference reference; 
Spinner areaSpinner; 
ArrayList<String> areas = new ArrayList<>(); 


@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    reference = FirebaseDatabase.getInstance().getReferenceFromUrl("https://vbspinner.firebaseio.com/Location"); 

    areaSpinner = (Spinner) findViewById(R.id.spinner); 
    DatabaseReference mref = reference.child("areas"); 

    FirebaseListAdapter<String> firebaseListAdapter = new FirebaseListAdapter<String>(this, String.class, android.R.layout.simple_spinner_item, mref) { 
     @Override 
     protected void populateView(View v, String model, int position) { 
      ((TextView)findViewById(android.R.id.text1)).setText(model); 

     } 
    }; 
    areaSpinner.setAdapter(firebaseListAdapter); 
} 

マイFirebaseデータベース:Populatate Firebaseデータベースからスピナー

1

私のコンストラクタクラスのコードは、私は私のスピナーの値が(Firebaseデータベースからのものであること希望

public class VBSpinner extends Application { 
    @Override 
    public void onCreate() { 
     super.onCreate(); 
     if(!com.google.firebase.FirebaseApp.getApps(this).isEmpty()){ 
      FirebaseDatabase.getInstance().setPersistenceEnabled(true); 
     } 

ですKvp,Tn,Tvlなど)。どこでデータを変更する必要がありますか?上記のコードで

+0

にfirebase文書の項目を解析するために答えるが、私の方法を試して、かなり遅れるいただきました最初のコードサンプルの結果?それはうまくいくかもしれない。エラーや例外が発生しましたか?またはスピナーは単にオプションを表示しませんか? – koceeng

+0

エラーは表示されませんが、オプションなしのスピナーが表示されます。 –

+0

'参照 'が' https:// vbspinner.firebaseio.com/Location'を指しています。 'mref'は' reference.child( "areas") 'を指しています。スピンナーに置く' https:// vbspinner.firebaseio.com/Location/areas'を読んでいます。もちろん、それは価値がありません – koceeng

答えて

0
reference = FirebaseDatabase.getInstance() 
    .getReferenceFromUrl("https://vbspinner.firebaseio.com/Location"); 

、あなたは私はあなたが何をしようとして考えている("Location"referenceオブジェクトのポイントを作る。しかし、次のコードで:。

DatabaseReference mref = reference.child("areas"); 

あなたはmrefことと呼ばれる別の参照を作ります(child("areas"))が"https://vbspinner.firebaseio.com/Location/areas"を指しているので、FirebaseListAdaptermrefを使用すると、".../Location/areas"に値がないため、nullが返されます。

FirebaseListAdapterreferenceを入力してください。

0

は、たぶん私はスピナーアダプタ

https://gist.github.com/majeytunio/9cc24a7edb06b2c2d3bbbb649ac9b602

+0

このリンクは質問に答えるかもしれませんが、答えの本質的な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になることがあります –

関連する問題