2013-10-23 47 views
0

我是新來的Android,並遵循「建設你的第一個應用程序」教程從http://developer.android.com/training/basics/firstapp/index.html 我的問題是,當我點擊發送按鈕什麼也沒有發生。按鈕點擊不會調用所需的方法從活動

Main.Manifest代碼:

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:onClick="sendMessage" 
    android:text="@string/button_send" /> 

Main.java代碼

public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE"; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 
    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); 
    } 

程序沒有錯誤,但什麼都不做的單擊事件

回答

5

你錯過了

startActivity(intent); 

正在初始化EDITTEXT在onCreate會更好

EditText editText; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    editText = (EditText) findViewById(R.id.edit_message); 
} 

在sendMesage

public void sendMessage(View view) { 
    Intent intent = new Intent(this, DisplayMessageActivity.class); 
    intent.putExtra(EXTRA_MESSAGE, editText.getText().toString()); 
    startActivity(intent); 
} 
+0

+1是第一個ans..cant理解爲什麼人們仍然給答案 –

+1

@KalpeshLakhani有時你看不到有人回答了這個問題。 –

+0

@KalpeshLakhani感謝您的upvote我想這可以讓別人回答,直到它完全重複 – Raghunandan

1

sendMessage()方法在最後一行添加此。 startActivity(intent)

你還沒有開始活動..

2

你不開始活動。當您創建一個意圖時,您需要調用startActivity;方法並將意圖傳遞給它。

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); //need this 
} 

this