Android 在发送消息之前显示吐司
我正在制作聊天应用程序,用户不能在其中发送空消息。发送消息前,toast显示“空字段”。我只想在字段为空的情况下,当用户尝试发送消息时才显示祝酒词。怎么办Android 在发送消息之前显示吐司,android,text,chat,Android,Text,Chat,我正在制作聊天应用程序,用户不能在其中发送空消息。发送消息前,toast显示“空字段”。我只想在字段为空的情况下,当用户尝试发送消息时才显示祝酒词。怎么办 public class chat_app extends AppCompatActivity{ InterstitialAd mInterstitialAd; private InterstitialAd interstitial; private Button btn_send_msg; privat
public class chat_app extends AppCompatActivity{
InterstitialAd mInterstitialAd;
private InterstitialAd interstitial;
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.activity_chat_room);
btn_send_msg = (Button) findViewById(R.id.btn_send);
input_msg = (EditText) findViewById(R.id.msg_input);
chat_conversation = (TextView) findViewById(R.id.textView);
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\n");
input_msg.setText("");
if(TextUtils.isEmpty(chat_msg)) {
Toast.makeText(this, "Empty field ", Toast.LENGTH_SHORT).show();
return;
}
}
`
公共类聊天应用程序扩展了AppCompative活动{
间质间隙;
私人间质;
私人按钮btn\u发送消息;
私人编辑文本输入信息;
私人文本查看聊天室会话;
私有字符串用户名、房间名称;
私有数据库引用根;
私有字符串临时密钥;
@凌驾
创建时受保护的void(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u chat\u room);
btn_send_msg=(按钮)findviewbyd(R.id.btn_send);
input_msg=(EditText)findViewById(R.id.msg_input);
chat_conversation=(TextView)findViewById(R.id.TextView);
user_name=getIntent().getExtras().get(“user_name”).toString();
房间名称=getIntent().getExtras().get(“房间名称”).toString();
设置标题(“房间-”+房间名称);
root=FirebaseDatabase.getInstance().getReference().child(文件室名称);
btn_send_msg.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
Map Map=newhashmap();
temp_key=root.push().getKey();
root.updateChildren(map);
DatabaseReference message_root=root.child(临时密钥);
Map map2=新的HashMap();
map2.put(“名称”,用户名);
put(“msg”,input_msg.getText().toString());
message_root.updateChildren(map2);
}
});
root.addChildEventListener(新的ChildEventListener(){
@凌驾
公共void onChildAdded(DataSnapshot DataSnapshot,字符串s){
追加聊天对话(dataSnapshot);
}
@凌驾
公共void onChildChanged(DataSnapshot DataSnapshot,字符串s){
追加聊天对话(dataSnapshot);
}
@凌驾
ChildRemoved上的公共void(DataSnapshot DataSnapshot){
}
@凌驾
已移动ChildMoved上的公共void(DataSnapshot DataSnapshot,字符串s){
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
}
私有字符串chat\u msg,chat\u用户名;
私有void追加会话(DataSnapshot DataSnapshot){
迭代器i=dataSnapshot.getChildren().Iterator();
while(i.hasNext()){
chat_msg=(String)((DataSnapshot)i.next()).getValue();
chat_user_name=(字符串)((DataSnapshot)i.next()).getValue();
chat_conversation.append(chat_用户名+”:“+chat_msg+”\n\n”);
输入_msg.setText(“”);
if(TextUtils.isEmpty(chat_msg)){
Toast.makeText(这个“空字段”,Toast.LENGTH_SHORT).show();
返回;
}
}
`
在发送之前,您必须检查它。我正在考虑b发送是您发送信息的地方
btn_send_msg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(input_msg.getText().toString().trim().length>0)**///considering input is your editetxt of message to send**
{
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);
}
else
{
**///show empty toast here**
}
}
});
btn\u send\u msg.setOnClickListener(新视图.OnClickListener()){
@凌驾
公共void onClick(视图){
如果(input_msg.getText().toString().trim().length>0)**///考虑输入是要发送的消息的EditeText**
{
Map Map=newhashmap();
temp_key=root.push().getKey();
root.updateChildren(map);
DatabaseReference message_root=root.child(临时密钥);
Map map2=新的HashMap();
map2.put(“名称”,用户名);
put(“msg”,input_msg.getText().toString());
message_root.updateChildren(map2);
}
其他的
{
**///在这里展示空吐司**
}
}
});
检查onclik方法中的编辑文本值,如果该值为空,则显示toast msgbtn_send_msg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(input_msg.getText().toString().equals("")){
// Toast msg here
}else{
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);
}
}
});
btn\u send\u msg.setOnClickListener(新视图.OnClickListener()){
@凌驾
公共void onClick(视图){
if(input_msg.getText().toString().equals(“”){
//这里是吐司味精
}否则{
Map Map=newhashmap();
temp_key=root.push().getKey();
root.updateChildren(map);
DatabaseReference message_root=root.child(临时密钥);
Map map2=新的HashMap();
map2.put(“名称”,用户名);
put(“msg”,input_msg.getText().toString());
message_root.updateChildren(map2);
}
}
});
btn\u send\u msg.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
String message=input_msg.getText().toString().trim();//抛出间隔
if(message.equals(“”){
//这里是吐司味精
}否则{
Map Map=newhashmap();
temp_key=root.push().getKey();
root.updateChildren(map);
DatabaseReference message_root=root.child(临时密钥);
Map map2=新的HashMap();
map2.put(“名称”,用户名);
put(“msg”,input_msg.getText().toString());
message_root.updateChildren(map2);
}
}
});
添加签入您的send
按钮onClick()
方法:
btn_send_msg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String message = input_msg.getText().toString();
if (TextUtils.isEmpty(message)) {
Toast.makeText(getApplicationContext(), "Empty field", Toast.LENGTH_SHORT).show();
} else {
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", message);
message_root.updateChildren(map2);
}
});
btn_send_msg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String message = input_msg.getText().toString();
if (TextUtils.isEmpty(message)) {
Toast.makeText(getApplicationContext(), "Empty field", Toast.LENGTH_SHORT).show();
} else {
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", message);
message_root.updateChildren(map2);
}
});
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\n");
}
}