Android 我无法通过单击一个按钮向新活动发送多个数据
我正试图通过两个文本框从Android 我无法通过单击一个按钮向新活动发送多个数据,android,android-layout,Android,Android Layout,我正试图通过两个文本框从main活动发送数据,只需单击一个按钮即可将数据发送到SecondActivity,这两个数字应显示在另一个下方 但是SecondActivity要么显示第一个或第二个文本框的数据,而不是同时显示这两个文本框的数据 我做错了什么 来自MainActivity的代码: public class MainActivity extends Activity { public final static String MESSAGE_KEY="experiment.com.
main活动
发送数据,只需单击一个按钮即可将数据发送到SecondActivity
,这两个数字应显示在另一个下方
但是SecondActivity
要么显示第一个或第二个文本框的数据,而不是同时显示这两个文本框的数据
我做错了什么
来自MainActivity的代码:
public class MainActivity extends Activity {
public final static String MESSAGE_KEY="experiment.com.anew.madhu.assignment.message_key";
public final static String MESSAGE_KEY2="experiment.com.anew.madhu.assignment.message_key2";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void compute(View v) {
EditText e1 = (EditText) findViewById(R.id.editText);
EditText e2 = (EditText) findViewById(R.id.editText2);
String message= e1.getText().toString();
String message2= e2.getText().toString();
Intent intent=new Intent (this,SecondActivity.class);
intent.putExtra(MESSAGE_KEY,message);
intent.putExtra(MESSAGE_KEY2,message2);
startActivity(intent);
}
}
public class SecondActivity extends Activity {
public final static String MESSAGE_KEY="experiment.com.anew.madhu.assignment.message_key";
public final static String MESSAGE_KEY2="experiment.com.anew.madhu.assignment.message_key2";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent=getIntent();
String message = intent.getStringExtra(MESSAGE_KEY);
String message2 = intent.getStringExtra(MESSAGE_KEY2);
TextView textView=new TextView(this);
textView.setText(message);
setContentView(textView);
TextView textView2=new TextView(this);
textView2.setText(message2);
setContentView(textView2);
setContentView(R.layout.second_layout);
}
}
public class MainActivity extends Activity {
public final static String MESSAGE_KEY="experiment.com.anew.madhu.assignment.message_key";
public final static String MESSAGE_KEY2="experiment.com.anew.madhu.assignment.message_key2";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
compute(); //view initialization must be on onCreate
}
public void compute(){
EditText e1 = (EditText) findViewById(R.id.editText);
EditText e2 = (EditText) findViewById(R.id.editText2);
String message= e1.getText().toString();
String message2= e2.getText().toString();
Intent intent=new Intent (this,SecondActivity.class);
intent.putExtra(MESSAGE_KEY,message);
intent.putExtra(MESSAGE_KEY2,message2);
startActivity(intent);
}
}
第二项活动:
public class SecondActivity extends Activity {
public final static String MESSAGE_KEY="experiment.com.anew.madhu.assignment.message_key";
public final static String MESSAGE_KEY2="experiment.com.anew.madhu.assignment.message_key2";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent=getIntent();
String message = intent.getStringExtra(MESSAGE_KEY);
String message2 = intent.getStringExtra(MESSAGE_KEY2);
TextView textView=new TextView(this);
textView.setText(message);
setContentView(textView);
TextView textView2=new TextView(this);
textView2.setText(message2);
setContentView(textView2);
setContentView(R.layout.second_layout);
}
}
我已尝试将第二个活动更改为LinearLayout
,从AppCompatActivity
更改为activity
,将与MainActivity
相同的ID添加到textbox的ID,并尝试了不同的ID,完全删除了TextView
,但仍然无法获得两个数字的输出。请参阅下面的代码:
第二单元布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
主要活动:
public class MainActivity extends Activity {
public final static String MESSAGE_KEY="experiment.com.anew.madhu.assignment.message_key";
public final static String MESSAGE_KEY2="experiment.com.anew.madhu.assignment.message_key2";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void compute(View v) {
EditText e1 = (EditText) findViewById(R.id.editText);
EditText e2 = (EditText) findViewById(R.id.editText2);
String message= e1.getText().toString();
String message2= e2.getText().toString();
Intent intent=new Intent (this,SecondActivity.class);
intent.putExtra(MESSAGE_KEY,message);
intent.putExtra(MESSAGE_KEY2,message2);
startActivity(intent);
}
}
public class SecondActivity extends Activity {
public final static String MESSAGE_KEY="experiment.com.anew.madhu.assignment.message_key";
public final static String MESSAGE_KEY2="experiment.com.anew.madhu.assignment.message_key2";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent=getIntent();
String message = intent.getStringExtra(MESSAGE_KEY);
String message2 = intent.getStringExtra(MESSAGE_KEY2);
TextView textView=new TextView(this);
textView.setText(message);
setContentView(textView);
TextView textView2=new TextView(this);
textView2.setText(message2);
setContentView(textView2);
setContentView(R.layout.second_layout);
}
}
public class MainActivity extends Activity {
public final static String MESSAGE_KEY="experiment.com.anew.madhu.assignment.message_key";
public final static String MESSAGE_KEY2="experiment.com.anew.madhu.assignment.message_key2";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
compute(); //view initialization must be on onCreate
}
public void compute(){
EditText e1 = (EditText) findViewById(R.id.editText);
EditText e2 = (EditText) findViewById(R.id.editText2);
String message= e1.getText().toString();
String message2= e2.getText().toString();
Intent intent=new Intent (this,SecondActivity.class);
intent.putExtra(MESSAGE_KEY,message);
intent.putExtra(MESSAGE_KEY2,message2);
startActivity(intent);
}
}
第二项活动:
public class SecondActivity extends Activity {
public final static String MESSAGE_KEY="experiment.com.anew.madhu.assignment.message_key";
public final static String MESSAGE_KEY2="experiment.com.anew.madhu.assignment.message_key2";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent=getIntent();
String message = intent.getStringExtra(MESSAGE_KEY);
String message2 = intent.getStringExtra(MESSAGE_KEY2);
TextView textView=new TextView(this);
textView.setText(message);
setContentView(textView);
TextView textView2=new TextView(this);
textView2.setText(message2);
setContentView(textView2);
setContentView(R.layout.second_layout);
}
}
public class SecondActivity extends Activity {
public final static String MESSAGE_KEY="experiment.com.anew.madhu.assignment.message_key";
public final static String MESSAGE_KEY2="experiment.com.anew.madhu.assignment.message_key2";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_layout);
Intent intent=getIntent();
String message = intent.getStringExtra(MESSAGE_KEY);
String message2 = intent.getStringExtra(MESSAGE_KEY2);
TextView textview = (TextView) findViewById(R.id.textView);
TextView textview2 = (TextView) findViewById(R.id.textView2);
textView.setText(message);
textView2.setText(message2)
}
}
对不起,但我笑了“AppCombatActivity”。。。这是AppCompatActivity…setContentView
你认为它的作用是什么?“仍然没有得到两个数字的输出”…如果你没有得到一个有效的值,你必须得到NPE。你能发布你收到的确切信息吗?@njzk2我不敢相信我错过了:p。如果你的答案已经解决了你的问题,请点击检查标记来考虑。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。