我正在尝试在活动中为文本视图或任何视图提供时间戳,该活动将提供从按钮打开活动的时间,并显示两个编辑文本的输入到文本视图中分开的活动。例如:
活动Main
:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
}
});
}
}
其中包括此xml布局和视图:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/editText2"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
现在我想从这两个编辑文本中获取用户输入,同时使用按钮上的onClick打开下一个活动,再显示点击按钮时的时间戳:
import android.app.Activity;
import android.os.Bundle;
public class Main2 extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
}
}
这会使这个xml布局膨胀:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TextView" android:textSize="20dp"/>
<TextView
android:id="@+id/textView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TextView" android:textSize="20dp"/>
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
所以我想完成以下任务:
editText1 -----------> textView1
editText2 -----------> textView2
Phone's time stamp textview3
单击按钮打开Main2活动。因此editText1是一个EditText,它将获取用户输入并将该值返回到textView1,对于editText2和textView2也是如此,但最重要的是我希望得到点击按钮的时间和返回到textView3的时间。
现在我知道如何将一个edittext的值返回到另一个活动中的textview而不是两个并获得时间戳。
LAS_VEGAS 好的我有两个标识符可以工作,但是这里的时间戳上出现错误就是我所拥有的代码:
这就是我在第一个Activity onClick方法中所拥有的:
EditText edit = (EditText) findViewById(R.id.etTitle);
EditText editP = (EditText) findViewById(R.id.etPrice);
long currentTime = System.currentTimeMillis();
Intent intent = new Intent(Post.this, PostSet.class);
intent.putExtra("com.main.espress.POSTSET", `edit.getText().toString());`
intent.putExtra("com.main.espress.NEW", editP.getText().toString());
intent.putExtra("currentTime", currentTime);
startActivity(intent);
这是我的第二个活动:
TextView tv1 = (TextView) findViewById (R.id.tvTitleText);
TextView tv2 = (TextView) findViewById (R.id.tvPrice);
TextView tv3 = (TextView) findViewById (R.id.tvTimeStamp);
Intent intent = getIntent();
String edit = intent.getStringExtra("com.main.express.POSTSET");
String editP = intent.getStringExtra("com.main.espress.NEW");
long currentTime = extras.getLong("currentTime");
tv1.setText(edit);
tv2.setText(editP);
tv3.setText(currentTime);
答案 0 :(得分:2)
您可以在按钮单击()中使用这些行以毫秒获得当前时间:
long currentTime=System.currentTimeInMillis(); //getting current time in millis
//converting it into user readable format
Calendar cal=Calendar.getInstance();
cal.setTimeInMillis(currentTime);
String showTime=String.format("%1$tI:%1$tM:%1$tS %1$Tp",cal);//shows time in format 10:30:45 am
答案 1 :(得分:0)
您可以使用Intent
:
内部onClick()
EditText et1 = (EditText) findViewById(R.id.editText1);
EditText et2 = (EditText) findViewById(R.id.editText2);
long currentTime = System.currentTimeInMillis();
Intent i = new Intent(MainActivity.this, Main2.class);
i.putExtra("editText1", et1.getText());
i.putExtra("editText2", et2.getText());
i.putExtra("currentTime", currentTime);
startActivity(i);
在Activitiy中Main2
:
Bundle extras = getIntent().getExtras();
String text1 = extras.getString("editText1");
String text2 = extras.getString("editText2");
long currentTime = extras.getLong("currentTime");