2014-09-23 26 views
-2

您好我想建立一个Android应用程序发送文本的其他活动,但我没有看到第二个活动的输入文字:(我试试这个教程:为什么我不从其他活动获取字符串?

http://developer.android.com/training/basics/firstapp/index.html

我做同样如何在这个教程:

如果我点击发送我使用Intent类和出这个我串...

这里是我DisplayMessageActivity.java

的代码
public class DisplayMessageActivity extends ActionBarActivity { 

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

     //setContentView(R.layout.activity_display_message); 
       if (savedInstanceState == null) { 
        getSupportFragmentManager().beginTransaction() 
          .add(R.id.container, new PlaceholderFragment()).commit(); 
       } 

       // Get the message from the intent 
       Intent intent = getIntent(); 
       String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); 

       // Create the text view 
       TextView textView = new TextView(this); 
       textView.setTextSize(40); 
       textView.setText(message); 

       // Set the text view as the activity layout 
       setContentView(textView); 


    } 

    /** 
    * A placeholder fragment containing a simple view. 
    */ 
    public static class PlaceholderFragment extends Fragment { 

     public PlaceholderFragment() { 
     } 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
       Bundle savedInstanceState) { 
      View rootView = inflater.inflate(R.layout.fragment_main, container, 
        false); 

      return rootView; 
     } 
    } 
} 

UPDATE:

我的第一个活动:

public class MainActivity extends ActionBarActivity { 

    public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE"; 

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

    // Button Events 

    public void sendMessage(View view) { 
     Intent intent = new Intent(this, DisplayMessageActivity.class); 
     EditText editText = (EditText) findViewById(R.id.edit_message); 
     String message = editText.getText().toString(); 
     intent.putExtra(EXTRA_MESSAGE, message); 
     startActivity(intent); 
    } 
} 
+1

我没有看到你的代码2周的活动。 – Raghunandan 2014-09-23 09:30:00

+1

这是第二个....我发布的第一个太...时刻 – Tarasov 2014-09-23 09:31:38

+0

发布您的MainActivity.Because的代码,因为当您在MainActivity中正确传递并启动当前活动(DisplayMessageActivity),那么它来到 – 2014-09-23 09:31:41

回答

3

尝试让你丛的DisplayMessageActivity

  Bundle bundle = getIntent().getExtras(); 
      if(bundle != null) 
      { 
       String message = bundle.getString(MainActivity.EXTRA_MESSAGE); 
      } 

在发送者的行为。 :

    Intent intent = new Intent(Activity_A.this, DisplayMessageActivity.class); 
        intent.putExtra(MainActivity.EXTRA_MESSAGE, "Your title"); 

        Activity_A.this.startActivity(intent); 

MainActivity.EXTRA_MESSAGE是你的关键传球

+0

其正确答案 – 2014-09-23 09:36:07

+0

但它没有解决我的问题:( – Tarasov 2014-09-23 09:48:15

+0

为什么不能?你可以在DisplayMessageActivity中获得你的软件包吗? – 2014-09-23 09:50:43

2

使用键从第一个活动传递消息并获得第二活性这些值这样

bundle = getIntent().getExtras(); 
    if (bundle != null) { 
     value1 = bundle.getString("key1"); 
     value2 = bundle.getString("key2"); 
    } 

在这样的第一项活动通过的消息

intent.putExtra("key1", "message1"); 
intent.putExtra("key2", "message2"); 
2

尝试

String message = intent.getStringExtra("EXTRA_MESSAGE"); 

,并在第一个活动

intent.putExtra("EXTRA_MESSAGE", "Your title"); 
+0

没有........ – Tarasov 2014-09-23 09:38:53

+0

改变“你的标题“通过消息... – 2014-09-23 09:41:43

相关问题