Java Android Studio将时间戳发布到文本视图中

Java Android Studio将时间戳发布到文本视图中,java,android,xml,firebase,Java,Android,Xml,Firebase,我目前正在为android studio应用程序进行viber活动。我的应用程序能够确定是谁发送了消息,但目前无法在消息上添加时间戳。 singlemessage_layout.xml <TextView android:id="@+id/messageTime" android:layout_width="wrap_content" android:layout_height="wrap_content" andro

我目前正在为android studio应用程序进行viber活动。我的应用程序能够确定是谁发送了消息,但目前无法在消息上添加时间戳。 singlemessage_layout.xml

    <TextView
        android:id="@+id/messageTime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="5dp"
        android:text=""
        android:textColor="#000000"
        android:textStyle="bold" />
discussion board.java

import android.provider.ContactsContract;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.text.format.DateFormat;

import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;

import java.util.Date;


public class discussionboard extends AppCompatActivity {
    private EditText editMessage;
    private DatabaseReference mDatabase;
    private RecyclerView mMessageList;
    private FirebaseAuth mAuth;
    private FirebaseDatabase database;
    private FirebaseAuth.AuthStateListener mAuthListener;
    private FirebaseUser mCurrentUser;
    private DatabaseReference mDatabaseUsers;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_discussionboard);
        editMessage=(EditText)findViewById(R.id.editMessageE);
        mDatabase = FirebaseDatabase.getInstance().getReference().child("Messages");
        mMessageList = (RecyclerView)findViewById(R.id.messageRec);
        mMessageList.setHasFixedSize(true);
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
        linearLayoutManager.setStackFromEnd(true);
        mMessageList.setLayoutManager(linearLayoutManager);
        mAuth = FirebaseAuth.getInstance();
    }
    public void sendButtonClicked(View view)
    {
        mCurrentUser = mAuth.getCurrentUser();
        mDatabaseUsers = FirebaseDatabase.getInstance().getReference().child("Users").child(mCurrentUser.getUid());
        final String messageValue = editMessage.getText().toString().trim();
        if(!TextUtils.isEmpty(messageValue))
        {
            final DatabaseReference newPost = mDatabase.push();
            mDatabaseUsers.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    newPost.child("content").setValue(messageValue);
                    newPost.child("username").setValue(dataSnapshot.child("name").getValue()).addOnCompleteListener(new OnCompleteListener<Void>() {
                        @Override
                        public void onComplete(@NonNull Task<Void> task) {

                        }
                    });
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });
            mMessageList.scrollToPosition(mMessageList.getAdapter().getItemCount());
            editMessage.setText("");


        }

    }
    @Override
    protected void onStart()
    {
      super.onStart();
        FirebaseRecyclerAdapter<Message,MessageViewHolder> FBRA = new FirebaseRecyclerAdapter<Message, MessageViewHolder>(
                Message.class,
                R.layout.singlemessagelayout,
                MessageViewHolder.class,
                mDatabase) {
            @Override
            protected void populateViewHolder(MessageViewHolder viewHolder, Message model, int position) {
                viewHolder.setContent(model.getContent());
                viewHolder.setUsername(model.getUsername());

            }
        };
        mMessageList.setAdapter(FBRA);
    }
    public static class MessageViewHolder extends RecyclerView.ViewHolder
    {
        View mView;
        public MessageViewHolder(View itemView) {
            super(itemView);
            mView=itemView;
        }
        public void setContent(String content)
        {
            TextView messag_content = (TextView) mView.findViewById(R.id.messageText);
            messag_content.setText(content);
        }
        public void setUsername(String username)
        {
            TextView username_content = (TextView)mView.findViewById(R.id.usernametext);
            username_content.setText(username);
        }
    }

}
导入android.provider.contacts合同;
导入android.support.annotation.NonNull;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.support.v7.widget.LinearLayoutManager;
导入android.support.v7.widget.RecyclerView;
导入android.text.TextUtils;
导入android.text.format.DateUtils;
导入android.view.view;
导入android.widget.EditText;
导入android.widget.TextView;
导入android.text.format.DateFormat;
导入com.firebase.ui.database.FirebaseRecyclerAdapter;
导入com.google.android.gms.tasks.OnCompleteListener;
导入com.google.android.gms.tasks.Task;
导入com.google.firebase.auth.FirebaseAuth;
导入com.google.firebase.auth.FirebaseUser;
导入com.google.firebase.database.DataSnapshot;
导入com.google.firebase.database.DatabaseError;
导入com.google.firebase.database.DatabaseReference;
导入com.google.firebase.database.FirebaseDatabase;
导入com.google.firebase.database.ValueEventListener;
导入java.util.Date;
公开课讨论板扩展了应用程序活动{
私人编辑短信;
私有数据库参考数据库;
私人废物回收商;
私人消防队;
私有FirebaseDatabase数据库;
私有FirebaseAuth.AuthStateListener mAuthListener;
私有FirebaseUser mCurrentUser;
私有数据库引用mDatabaseUsers;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_discussionboard);
editMessage=(EditText)findViewById(R.id.editMessageE);
mDatabase=FirebaseDatabase.getInstance().getReference().child(“消息”);
mMessageList=(RecyclerView)findviewbyd(R.id.messageRec);
msessagelist.setHasFixedSize(true);
LinearLayoutManager LinearLayoutManager=新的LinearLayoutManager(此);
linearLayoutManager.setStackFromEnd(true);
Msessagelist.setLayoutManager(linearLayoutManager);
mAuth=FirebaseAuth.getInstance();
}
公共作废sendButtonClicked(查看)
{
mCurrentUser=mAuth.getCurrentUser();
mDatabaseUsers=FirebaseDatabase.getInstance().getReference().child(“用户”).child(mCurrentUser.getUid());
最后一个字符串messageValue=editMessage.getText().toString().trim();
如果(!TextUtils.isEmpty(messageValue))
{
final DatabaseReference newPost=mDatabase.push();
mDatabaseUsers.addValueEventListener(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
newPost.child(“内容”).setValue(messageValue);
newPost.child(“用户名”).setValue(dataSnapshot.child(“名称”).getValue()).addOnCompleteListener(新OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
}
});
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
mMessageList.scrollToPosition(mMessageList.getAdapter().getItemCount());
editMessage.setText(“”);
}
}
@凌驾
受保护的void onStart()
{
super.onStart();
FirebaseRecyclerAdapter FBRA=新的FirebaseRecyclerAdapter(
Message.class,
R.layout.singlemessagelayout,
MessageViewHolder.class,
mDatabase){
@凌驾
受保护的void populateViewHolder(MessageViewHolder、messagemodel、int位置){
setContent(model.getContent());
viewHolder.setUsername(model.getUsername());
}
};
mMessageList.setAdapter(FBRA);
}
公共静态类MessageViewHolder扩展了RecyclerView.ViewHolder
{
视图视图;
公共消息视图持有者(查看项目视图){
超级(项目视图);
mView=项目视图;
}
公共void setContent(字符串内容)
{
TextView messag_content=(TextView)mView.findViewById(R.id.messageText);
messag_content.setText(内容);
}
public void setUsername(字符串用户名)
{
TextView用户名\内容=(TextView)mView.findviewbyd(R.id.usernametext);
用户名\u content.setText(用户名);
}
}
}

如何在messageTime textview中发布当前日期?简单的方法如下

textView.setText(currentTimeStamp); //this will return the textView with the current TimeStamp
获取当前的
时间戳

Long timeStamp = System.currentTimeMillis()/1000;
String currentTimeStamp = timeStamp.toString();
然后将其设置为您的文本视图,如下所示

textView.setText(currentTimeStamp); //this will return the textView with the current TimeStamp
编辑:如果您将来需要此时间戳,您应该将其上载到firebase数据库,只需使用此行存储时间戳并为其创建新的设置值

示例:在您的
sendbutonclicked
中,您应该添加此项以获取时间戳并将其与消息一起发送

    Long timeStamp = System.currentTimeMillis()/1000;
    String currentTimeStamp = timeStamp.toString();
    newPost.child("username").child("timeStamp").setValue(currentTimeStamp);
希望能有帮助

快乐编码