2017-02-25 78 views
0

Firebase Database image我想打電話給我問題(根節點)及其(問題編號即INT) 一個使用下一個按鈕調用火力點一個子節點由一個。如何通過一個使用下一個按鈕

但問題是firebase中的子名稱只允許String。

我試試這個

String mCount =「0」;

然後將其轉換爲int使用 int mIntconverted = Integer.parseInt(mCount);

mIntconverted ++;

然後再次將int轉換爲字符串 mCount = Integer.toString(mIntconverted);

,但我的應用程序崩潰

// Next Button Code here 
     mNext.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       int mIntConvert=Integer.parseInt(count); 
       mIntConvert++; 
      count=Integer.toString(mIntConvert); 
      } 
     }); 

的Java文件

public class MainActivity extends AppCompatActivity { 
    String count="0"; 
    int countA=0; 
    TextView mConditionTextview; 
    Button mButtonFoggy; 
    Button mNext; 
    TextView mQuestiontext; 
    RadioButton mRadiobutton1; 
    RadioButton mRadiobutton2; 
    RadioButton mRadiobutton3; 
    RadioButton mRadiobutton4; 
    // firebase database refrences 
    DatabaseReference mRootRef= FirebaseDatabase.getInstance().getReference(); 
    DatabaseReference mRoot=mRootRef.child("Root"); 
    DatabaseReference mQuestion =mRootRef.child("Question"); 
    DatabaseReference mChild=mQuestion.child(count); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     mQuestiontext=(TextView)findViewById(R.id.TextViewQuestion); 
     mConditionTextview =(TextView)findViewById(R.id.TextViewCondition); 

     mNext=(Button)findViewById(R.id.buttonNext); 
    } 

    @Override 
    protected void onStart(){ 
     super.onStart(); 
     loadQuestion(); 
    } 

// method for loading ques 
    private void loadQuestion() { 
     mRoot.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       String text=dataSnapshot.getValue(String.class); 
       mConditionTextview.setText(text); 
       // mQuestiontext.setText(text); 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 
     mQuestion.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       String text=dataSnapshot.getValue(String.class); 
       // mConditionTextview.setText(text); 
       mQuestiontext.setText(text); 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 

     mChild.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       String text=dataSnapshot.getValue(String.class); 
       // mConditionTextview.setText(text); 
       mQuestiontext.setText(text); 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 

     // Next Button Code here 
     mNext.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       int mIntConvert=Integer.parseInt(count); 
       mIntConvert++; 
       count=Integer.toString(mIntConvert); 
      } 
     }); 
    } 
+3

能否請您發佈您的代碼,你的火力地堡JSON結構的圖片,否則就不可能瞭解其中問題是。 –

+1

剛剛添加了firebase數據庫的截圖。 @Drew –

+0

您可以添加整個Java文件嗎? –

回答

0
Firebase.setAndroidContext(this); 
     ref = new Firebase(Constants.FIREBASE_URL); 
     try { 
      ref.child("Root/Question/").addListenerForSingleValueEvent(new ValueEventListener() { 
       @Override 
       public void onDataChange(DataSnapshot dataSnapshot) { 
        Log.e("!)@@>>", dataSnapshot.getKey() + " " + dataSnapshot.getValue() + " " + dataSnapshot.getChildren() + " " + dataSnapshot.getChildrenCount()); 
        ArrayList<String> a = (ArrayList) dataSnapshot.getValue(); 
        Log.e("[email protected]@", a.get(0) + ""); // use your counter value instead of 0 
       } 

       @Override 
       public void onCancelled(FirebaseError firebaseError) { 

       } 
      }); 


     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
+1

Firebase.setAndroidContext(this); 上面的代碼是從舊版本的火力點,而不是工作更多 @ rjz-satvara –

+0

使用本 編譯「com.google.firebase:火力數據庫:9.0.2」 –

+0

這是行不通的 –

相關問題