1
1
package com .firebase .uidemo ;
2
2
3
- import android .app .Activity ;
4
3
import android .graphics .Color ;
5
4
import android .os .Bundle ;
6
5
import android .support .v7 .app .AppCompatActivity ;
14
13
import android .widget .TextView ;
15
14
16
15
import com .firebase .client .Firebase ;
16
+ import com .firebase .client .FirebaseError ;
17
17
import com .firebase .ui .FirebaseRecyclerViewAdapter ;
18
18
19
19
@@ -23,7 +23,7 @@ protected void onCreate(Bundle savedInstanceState) {
23
23
super .onCreate (savedInstanceState );
24
24
setContentView (R .layout .recycler_view_demo );
25
25
26
- final Firebase ref = new Firebase ("https://nanochat .firebaseio.com" );
26
+ final Firebase ref = new Firebase ("https://firebaseui .firebaseio.com/chat " );
27
27
28
28
final String name = "Android User" ;
29
29
final Button sendButton = (Button ) findViewById (R .id .sendButton );
@@ -36,61 +36,67 @@ protected void onCreate(Bundle savedInstanceState) {
36
36
@ Override
37
37
public void onClick (View v ) {
38
38
Chat chat = new Chat (name , messageEdit .getText ().toString ());
39
- ref .push ().setValue (chat );
39
+ ref .push ().setValue (chat , new Firebase .CompletionListener () {
40
+ @ Override
41
+ public void onComplete (FirebaseError firebaseError , Firebase firebase ) {
42
+ if (firebaseError != null ) {
43
+ Log .e ("FirebaseUI.chat" , firebaseError .toString ());
44
+ }
45
+ }
46
+ });
40
47
messageEdit .setText ("" );
41
48
}
42
49
});
43
50
44
51
FirebaseRecyclerViewAdapter <Chat , ChatHolder > adapter = new FirebaseRecyclerViewAdapter <Chat , ChatHolder >(Chat .class , android .R .layout .two_line_list_item , ChatHolder .class , ref ) {
45
52
@ Override
46
53
public void populateViewHolder (ChatHolder chatView , Chat chat ) {
47
- chatView .messageText .setText (chat .getMessage ());
48
- chatView .messageText .setPadding (10 , 0 , 10 , 0 );
49
- chatView .nameText .setText (chat .getName ());
50
- chatView .nameText .setPadding (10 , 0 , 10 , 15 );
54
+ chatView .textView .setText (chat .getText ());
55
+ chatView .textView .setPadding (10 , 0 , 10 , 0 );
56
+ chatView .nameView .setText (chat .getName ());
57
+ chatView .nameView .setPadding (10 , 0 , 10 , 15 );
51
58
if (chat .getName ().equals (name )) {
52
- chatView .messageText .setGravity (Gravity .END );
53
- chatView .nameText .setGravity (Gravity .END );
54
- chatView .nameText .setTextColor (Color .parseColor ("#8BC34A" ));
59
+ chatView .textView .setGravity (Gravity .END );
60
+ chatView .nameView .setGravity (Gravity .END );
61
+ chatView .nameView .setTextColor (Color .parseColor ("#8BC34A" ));
55
62
} else {
56
- chatView .nameText .setTextColor (Color .parseColor ("#00BCD4" ));
63
+ chatView .nameView .setTextColor (Color .parseColor ("#00BCD4" ));
57
64
}
58
65
}
59
66
};
60
67
61
68
messages .setAdapter (adapter );
62
-
63
69
}
64
70
65
71
66
72
static class Chat {
67
73
String name ;
68
- String message ;
74
+ String text ;
69
75
70
76
public Chat () {
71
77
}
72
78
73
79
public Chat (String name , String message ) {
74
80
this .name = name ;
75
- this .message = message ;
81
+ this .text = message ;
76
82
}
77
83
78
84
public String getName () {
79
85
return name ;
80
86
}
81
87
82
- public String getMessage () {
83
- return message ;
88
+ public String getText () {
89
+ return text ;
84
90
}
85
91
}
86
92
87
93
static class ChatHolder extends RecyclerView .ViewHolder {
88
- TextView nameText , messageText ;
94
+ TextView nameView , textView ;
89
95
90
96
public ChatHolder (View itemView ) {
91
97
super (itemView );
92
- nameText = (TextView ) itemView .findViewById (android .R .id .text2 );
93
- messageText = (TextView ) itemView .findViewById (android .R .id .text1 );
98
+ nameView = (TextView ) itemView .findViewById (android .R .id .text2 );
99
+ textView = (TextView ) itemView .findViewById (android .R .id .text1 );
94
100
}
95
101
}
96
102
}
0 commit comments