第一个活动的结果显示在同一个屏幕(窗口)(活动)。我只需要在另一个活动中显示结果。有人请告诉我该怎么做。主要活动如下:< / p>
package com.example.knowyourself;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.Toast;
import android.view.View.OnClickListener;
public class MainActivity extends Activity
{
Button submit;
String temp;
DatePicker dt;
int day, month, year, choice;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addListenerOnButton();
}
public void addListenerOnButton()
{
submit = (Button) findViewById(R.id.button1);
dt = (DatePicker) findViewById(R.id.datePicker1);
submit.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
day = dt.getDayOfMonth();
month = dt.getMonth();
year = dt.getYear();
choice = (day + month + year) % 5;
switch (choice)
{
..............
..............
}
Toast t = Toast.makeText(MainActivity.this, "You are" +
temp,Toast.LENGTH_SHORT);
t.show();
}
});
}
}
另外,activity_main是一个s:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/green"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="76dp"
android:text="@string/Date"
android:textAppearance="?android:attr/textAppearanceLarge"
tools:ignore="HardcodedText"
android:textColor="@color/blue"
android:textScaleX="0.9"
/>
<DatePicker
android:id="@+id/datePicker1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="61dp"
android:background="@color/lightblue"
/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/datePicker1"
android:layout_centerHorizontal="true"
android:layout_marginTop="54dp"
android:text=" "
tools:ignore="HardcodedText"
android:background="@drawable/one"
/>
</RelativeLayout>
答案 0 :(得分:2)
试试这个:
在MainActivity中:
Intent intent = new Intent();
intent.setClass(this, Other_Activity.class);
intent.putExtra("EXTRA_ID", "SOME DATAS");
startActivity(intent);
在Other_Activity中:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
if (extras != null) {
String datas= extras.getString("EXTRA_ID");
if (datas!= null) {
// do stuff
}
}
同时检查:Android Intents
希望这有帮助。
答案 1 :(得分:1)
要开始新活动,只需使用Intents即可。例如,如果要从当前活动中启动存储在NewActivity.java
中的活动,请使用以下命令:
Intent i = new Intent(this, NewActivity.class);
i.startActivity();
但是,如果要将数据从一个活动解析为另一个活动,则需要使用参数。例如,如果您的ouptut位于主要活动的temp
变量中,请使用此变量将其传递给新活动:
Intent i = new Intent(this, NewActivity.class);
i.putExtra("output", temp);
i.startActivity();
然后从新活动的onCreate()
方法中检索字符串:
String result = getIntent().getStringExtra("output");
Toast.makeText(getActivity(), "You are " + result, Toast.LENGTH_SHORT).show();
答案 2 :(得分:1)
假设您想在单击提交按钮时打印结果,请执行以下步骤。
为预期活动创建意图
Intent intent = new Intent(MainActivity.this, OtherActivity.class);
intent.putExtra(“key”,value);
开始新活动
startActivity(intent);
在其他活动中获得结果
int value = getIntent.getExtras.get("key");
// not necessarily int, any value
在任何Textview
textView.setText(""+value);
答案 3 :(得分:0)
您需要制作新的布局,在新的布局屏幕上,您可以制作出您想要的内容。
答案 4 :(得分:0)
您所询问的内容尚不清楚,但我认为您需要的是startActivityForResult