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。如果你的答案已经解决了你的问题,请点击检查标记来考虑。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。