Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android中,从一个活动向另一个活动发送2位数据_Java_Android_Android Intent - Fatal编程技术网

Java 在android中,从一个活动向另一个活动发送2位数据

Java 在android中,从一个活动向另一个活动发送2位数据,java,android,android-intent,Java,Android,Android Intent,大家好,我正在尝试学习android编程,我在这里使用的是android教程:然后我打算编辑它,添加我自己的代码,并通过使用API指南从中学习 我想做的第一个编辑是添加一个复选框,用户可以选中该复选框,在显示最终内容时,该复选框将添加另一行文本。但是,我不确定如何将复选框添加到代码中(在主活动中),并使其向DisplayMessageActivity发送数据,以告诉它在用户在消息框中定义的另一行文本下添加另一行文本,请帮助(抱歉,如果我没有清楚解释) 这是2个活动的代码。如果有帮助的话,请提供基

大家好,我正在尝试学习android编程,我在这里使用的是android教程:然后我打算编辑它,添加我自己的代码,并通过使用API指南从中学习

我想做的第一个编辑是添加一个复选框,用户可以选中该复选框,在显示最终内容时,该复选框将添加另一行文本。但是,我不确定如何将复选框添加到代码中(在主活动中),并使其向DisplayMessageActivity发送数据,以告诉它在用户在消息框中定义的另一行文本下添加另一行文本,请帮助(抱歉,如果我没有清楚解释)

这是2个活动的代码。如果有帮助的话,请提供基本的答案。我已经有一段时间没有编写程序了,我以前使用过java,所以我仍在继续讨论

主要活动:

package com.hyper.benshelloworld;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.view.Menu;
import android.widget.CheckBox;
import android.widget.EditText;
/*
* private things can be directly accessed only within the class that defines them.
*•default (i.e., no access modifier) things can be accessed by any code in the same package as the defining class.
*•protected is like default, except subclasses outside of the defining package can also access the member.
*•public members are accessible to all code everywhere.
*/

public class MainActivity extends Activity {
    public static final String EXTRA_MESSAGE = "com.hyper.benshelloworld.MESSAGE";
    //defines the string EXTRA_MESSAGE

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    public void sendMessage(View view){
        Intent intent = new Intent(this, DisplayMessageActivity.class);
        //calls on DisplayMessageActivity.class
        EditText editText = (EditText) findViewById(R.id.EditText);
        //makes the text box writable in.
        String message = editText.getText().toString();
        /*receives the typed message and makes it ready to be sent to the 
         * DisplayMessageActivity to be displayed*/
        intent.putExtra(EXTRA_MESSAGE, message);
        /*The most common use of intents is to start new activities (screens)within
         *  an application (line 41). The extras Bundle is a way of passing data between activities. 
         *  Extras are entered as key value pairs so EXTRA_MESSAGE is a key is used to identify a 
         *  particular value so it can be retrieved and used by another activity.
         */

        startActivity(intent);




    }   


}
以及DisplayMessageActivity:

package com.hyper.benshelloworld;
/*
* private things can be directly accessed only within the class that defines them.
*•default (i.e., no access modifier) things can be accessed by any code in the same package as the defining class.
*•protected is like default, except subclasses outside of the defining package can also access the member.
*•public members are accessible to all code everywhere.
*/

import android.os.Build;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.support.v4.app.NavUtils;
import java.lang.String;

public class DisplayMessageActivity extends Activity {

    @SuppressLint("NewApi")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = getIntent();
        //receives the intent sent in the MainActivity.class
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
        //Uses the getStringExtra to receive the string message from MainActivity in the intent.


        TextView textView = new TextView(this);
        textView.setTextSize(40);
        textView.setText(message);
        /*Sets up a text view to show the string "message" in and
         *sets the size of the text
         */

        if (message.equals("hello world")){
            textView.setText("bit standard");
        }

        setContentView(textView);
        //sets the activity to be showing the textView

        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){
            /* If the android version is 3.0+,  
             * show the Up button in the action bar.
             */
            getActionBar().setDisplayHomeAsUpEnabled(true);
        }

    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_display_message, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case android.R.id.home:
            // This ID represents the Home or Up button. In the case of this
            // activity, the Up button is shown. Use NavUtils to allow users
            // to navigate up one level in the application structure. For
            // more details, see the Navigation pattern on Android Design:
            //
            // http://developer.android.com/design/patterns/navigation.html#up-vs-back
            //
            NavUtils.navigateUpFromSameTask(this);
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

}

您可以在附加功能中添加多个内容:

public class MainActivity extends Activity {
    // ...
    public void sendMessage(View view){
        Intent intent = new Intent(this, DisplayMessageActivity.class);
        EditText editText = (EditText) findViewById(R.id.EditText);
        String message = editText.getText().toString();
        Bundle bundle = new Bundle();
        bundle.putString(DisplayMessageActivity.KEY_BUNDLE_SOME_VALUE, message);
        bundle.putString(DisplayMessageActivity.KEY_BUNDLE_SOME_OTHER_VALUE, someOtherValue);
        intent.putExtras(bundle);
        startActivity(intent);
    }
    // ...
}
在接收活动中:

public class DisplayMessageActivity extends Activity {

    public static final String KEY_BUNDLE_SOME_VALUE = "some_value";
    public static final String KEY_BUNDLE_SOME_OTHER_VALUE = "some_other_value";

    @SuppressLint("NewApi")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Bundle bundle = getIntent().getExtras();
        String string1 = "";
        String string2 = "";
        if (bundle != null) {
            if (bundle.containsKey(KEY_BUNDLE_SOME_VALUE) {
                string1 = bundle.getString(KEY_BUNDLE_SOME_VALUE);
            }
            if (bundle.containsKey(KEY_BUNDLE_SOME_OTHER_VALUE) {
                string2 = bundle.getString(KEY_BUNDLE_SOME_OTHER_VALUE);
            }
        }
        // ...
    }
    // ...
}
最好在bundle键的接收活动中添加公共常量。这将有助于防止你因打字错误而犯错误:)如果你决定更新它们,它们将处于第一位