1
public class Chat_Room extends AppCompatActivity {
private Button btn_send_msg;
private EditText input_msg;
private TextView chat_conversation;
private String user_name,room_name;
private DatabaseReference root;
private String temp_key;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.chat_room);
btn_send_msg = (Button) findViewById(R.id.button13);
input_msg = (EditText) findViewById(R.id.editText3);
chat_conversation = (TextView) findViewById(R.id.textView4);
user_name = getIntent().getExtras().get("user_name").toString();
room_name = getIntent().getExtras().get("room_name").toString();
setTitle("Room - " + room_name);
root = FirebaseDatabase.getInstance().getReference().child(room_name);
btn_send_msg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Map<String, Object> map = new HashMap<String, Object>();
temp_key = root.push().getKey();
root.updateChildren(map);
DatabaseReference message_root = root.child(temp_key);
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("name", user_name);
map2.put("msg", input_msg.getText().toString());
message_root.updateChildren(map2);
}
});
root.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
append_chat_conversation(dataSnapshot);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
append_chat_conversation(dataSnapshot);
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
private String chat_msg,chat_user_name;
private void append_chat_conversation(DataSnapshot dataSnapshot) {
Iterator i = dataSnapshot.getChildren().iterator();
while (i.hasNext()){
chat_msg = (String) ((DataSnapshot)i.next()).getValue();
chat_user_name = (String) ((DataSnapshot)i.next()).getValue();
chat_conversation.append(chat_user_name + " : " + chat_msg + "\n");
}
}
기본적으로 현재 발생하는 단추를 사용하여 메시지를 보낼 수 있지만 원하는 텍스트는 원하는 것입니다. 버튼을 클릭하면 입력되고 사라 지도록 보냈습니다.단추를 누를 때 일반 텍스트 상자의 텍스트를 지우려고하지만 아무 것도 찾을 수 없습니다.
이것은 대화방이므로 사용자가 짜증을 느끼는 것을 방지해야합니다.
감사합니다.
밤은 당신의 클릭 리스너에 view.setText을 ("")로 설정해야합니다 그것'textview.setText ("");'? –
텍스트 상자의 내용을 " – Prabu
"으로 설정할 수 있습니다. [TextView의 값을 어떻게 제거 할 수 있습니까?] (http://stackoverflow.com/questions/9037605/how-i-can-clear-the-value- of-textview) –