2014-09-19 42 views
0

我的MainActivity:为什么开始新活动的这段代码不起作用?

public class MainActivity extends Activity { 

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

    private EditText text1; 

    private EditText text2; 

    private Button btn1; 

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

     text1 = (EditText) findViewById(R.id.editText1); 
     text2 = (EditText) findViewById(R.id.editText2); 

     btn1 = (Button) findViewById(R.id.button1); 
     btn1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       sendMessage(v); 

      } 
     }); 
    } 

    /** Called when the user clicks the Send button */ 
    public void sendMessage(View view) { 
     // Do something in response to button 
     Intent intent = new Intent(this, MessageActivity.class); 
     String message = text1.getText().toString() + " " + text2.getText().toString(); 
     intent.putExtra(EXTRA_MESSAGE, message); 
    } 

} 

我MessageActivity:

public class MessageActivity extends Activity { 

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

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

     // Create the text view 
     TextView textView = (TextView) findViewById(R.id.textView3); 
     textView.setText("Hello" + message); 
    } 
} 

该按钮在布局文件中这样宣称:

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignStart="@+id/editText2" 
    android:layout_below="@+id/editText2" 
    android:layout_marginTop="47dp" 
    android:text="@string/main_button_1" 
    android:onClick="sendMessage" /> 

任何人都可以看到什么是错在这里?该应用程序在模拟器中运行时没有问题,但是当我点击按钮时,没有任何反应。

回答

2

我想你忘了打电话给startActivity(intent)sendMessage(View view)方法。

PS:要收听按钮,你只需要这个点击:

btn1 = (Button) findViewById(R.id.button1); 
    btn1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      sendMessage(v); 

     } 
    }); 

或本(XML格式),而不是两个。

android:onClick="sendMessage" /> 
2

你缺少:

startActivity(intent); in sendMessage() 
相关问题