android:onClick=“string”屬性詳解 (string爲點擊事件名稱)
當一個view設置了此屬性,當他被點擊時,就會觸動這個方法,方法名稱爲引號裏的string
描述:在MainActivity里加入一個EditView和Button,點擊Button後EditView裏的內容被第二個Activity顯示
- MainActivity文件
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.webkit.*;
import android.widget.EditText;
public class MainActivity extends Activity {
// 定義key常量
public final static String EXTRA_MESSAGE = "com.example.newtest.message";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
// 定義點擊事件,注意sendMessage正是android:onClick裏的名稱
public void sendMessage(View v)
{
// 定義Intent對象
Intent intent = new Intent(this,DisplayMessage.class);
EditText editText = (EditText) findViewById(R.id.editText1);
// 得到用戶輸入的信息
String message = editText.getText().toString();
// EXTRA_MESSAGE是鍵,message是值,可以靠鍵找值
intent.putExtra(EXTRA_MESSAGE,message);
// 開始Activity
startActivity(intent);
}
}
- MainActivity文件的xml配置文件
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="18dp"
android:ems="10" />
<Button
android:onClick="sendMessage"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText1"
android:layout_below="@+id/editText1"
android:layout_marginLeft="48dp"
android:layout_marginTop="32dp"
android:text="send" />
- DisplayMessage文件
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class DisplayMessage extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
TextView textView = new TextView(this);
textView.setText(message);
textView.setTextSize(40);
setContentView(textView);
}
}
- 注意在AndroidManifest文件的<application>里加入
<activity
android:name="com.example.newtest.DisplayMessage">
</activity>