android:onClick屬性詳解

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>



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章