目前本人接触到的只有四种:
一、TextView文本框,用来显示文字内容的控件,可以调用setText/getText方法来设置/获取文本内容
二、EditText文本编辑框,可以输入数据,同样可以调用setText/getText方法来设置/获取文本内容
三、Button按钮,一般给按钮绑定一个事件监听器,这样就可以通过点击按钮的动作调用相应的事件
public class Activity03 extends Activity {
private EditText factorOne;//文本编辑框
private EditText factorTwo;//文本编辑框
private TextView symbol;//文本框
private Button calculate;//按钮
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity03);
//根据控件的ID取得代表控件的对象
factorOne = (EditText) findViewById(R.id.factorOne);
factorTwo = (EditText) findViewById(R.id.factorTwo);
symbol = (TextView) findViewById(R.id.symbol);
calculate = (Button) findViewById(R.id.calulateButton);
symbol.setText(R.string.symbol);
calculate.setText(R.string.calculate);
calculate.setOnClickListener(new CalulateListener());
}
class CalulateListener implements OnClickListener{
public void onClick(View v) {
//取得两个EditText控件的值
String factorOneStr = factorOne.getText().toString();
String factorTwoStr = factorTwo.getText().toString();
//将这两个值放到Intent对象中
Intent intent = new Intent();
intent.putExtra("one", factorOneStr);
intent.putExtra("two", factorTwoStr);
intent.setClass(Activity03.this, Activity03_result.class);
//使用这个Intent对象来启动ResultActivity
Activity03.this.startActivity(intent);
}
}
}
public class Activity03_result extends Activity { private TextView myResult; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity03_result); myResult = (TextView) findViewById(R.id.activity03_result); //得到Intent对象当中的值 Intent intent = getIntent(); String factorOneStr = intent.getStringExtra("one"); String factorTwoStr = intent.getStringExtra("two"); int factorOneInt = Integer.parseInt(factorOneStr); int factorTwoInt = Integer.parseInt(factorTwoStr); int result = factorOneInt * factorTwoInt; myResult.setText(result + ""); } }
四、Menu为Activity添加菜单
Menu控件与其他控件有区别,使用Menu控件不需要在对应的布局文件中注册Menu控件,只需要重写onCreateOptionsMenu()方法,然后在里面通过Menu的add方法添加相应的菜单项。 @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, 1, 1, R.string.about);//关于 menu.add(0, 2, 2, R.string.exit);//退出,也可以直接写“” return super.onCreateOptionsMenu(menu); }
MenuItem android.view.Menu.add(int groupId, int itemId, int order, int titleRes)
如:menu.add(0,1,1,R.string.about);
第一个参数:int groupId——菜单组是0
第二个参数:int itemId——菜单项Id是1,下面的onOptionsItemSelected方法就是通过itemId来确定用户按的是哪个菜单按钮
第三个参数:int order——该菜单项摆放的位置,值为1表示排放在第一位
第四个参数:int titleRes——该菜单项的显示的标题
当点击菜单当中的某个选项时,会调用该方法 @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.getItemId() == 2){ finish(); } return super.onOptionsItemSelected(item); }