如何通过一个使用下一个按钮

如何通过一个使用下一个按钮

问题描述:

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文件吗? –

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

这是行不通的 –