2016-08-23 5 views
0

Firebaseにデータを保存するのに問題があります。私は基本的にFirebaseデータベースにリンクと日付を保存したいと思っています。Firebaseにデータを保存する

私はリンクを保存することができますが、日付はFABをクリックするとデータベースに保存されていないようです。任意の助けいただければ幸いと関連するコードは以下の通りです:あなたのファブonClick方法で

Firebase favRef = firebaseRef.child("favourites"); 

Map<String, String> data = new HashMap<String, String>(); 
data.put("date", date); 
data.put("link", link); 
favRef.push().setValue(data); 

public class Details extends AppCompatActivity { 

private static final String KEY_LINK = "link"; 

RequestQueue requestQueue; 

public static final int CONNECTION_TIMEOUT = 10000; 
public static final int READ_TIMEOUT = 15000; 

private RecyclerView rv; 
private CardView cardView; 
FloatingActionButton fab; 
private boolean isChecked = true; 

private List<Detail> detailList = new ArrayList<>(); 

private Vibrator vib; 

private Firebase firebaseRef; 

private static final String FIREBASE_URL = "https://athenajs.firebaseio.com"; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_details); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

     Firebase.setAndroidContext(this); 

     Intent in = getIntent(); 

     firebaseRef = new Firebase(FIREBASE_URL).child("favourites"); 

    //   Get JSON values from previous intent 
     final String link = in.getStringExtra(KEY_LINK); 
     final String date = in.getStringExtra("date"); 

     final Favclick mFav = new Favclick(link, date); 

     final String pushId = firebaseRef.push().getKey(); 

     vib = (Vibrator) this.getSystemService(VIBRATOR_SERVICE); 
     cardView = (CardView) findViewById(R.id.cv); 
     rv = (RecyclerView) findViewById(R.id.rv); 


     fab = (FloatingActionButton) findViewById(R.id.fab); 
     fab.setTag(1); 
     fab.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View view) { 

       final int status = (Integer) view.getTag(); 
       if (status == 1) { 
        fab.setImageResource(R.drawable.ic_favorite_white_48dp); 
        Snackbar.make(view, "Added to favourites!", Snackbar.LENGTH_LONG) 
          .setAction("Action", null).show(); 
        view.setTag(0); 

        firebaseRef.child(pushId).setValue(mFav); 

       } else { 
        fab.setImageResource(R.drawable.ic_favorite_border_white_48dp); 
        Snackbar.make(view, "Removed from favourites!", Snackbar.LENGTH_LONG) 
          .setAction("Action", null).show(); 
        view.setTag(1); 
        firebaseRef.child(pushId).removeValue(null); 
       } 


      } 

     }); 
+0

'Favclick'のクラス定義を共有できますか? –

答えて

2

はこれを試してみてください。

+0

お返事ありがとうございました。私は別の方法でそれを解決することができました。あなたが答えるとすぐに実現。しかし、助けを感謝! –

関連する問題