界面控件
- TextView和EditText
TextView是一种用于显示字符串的控件,EditText则是用来输入和编辑字符串的控件
其中EditText中,ems属性是最多输入多少个字符,inputType是输入的数据类型。
下图为EditText的输入类型:
先在界面布局文件中添加需要操作的控件,使用findViewById找到TextView控件并执行操作:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = findViewById(R.id.textView); //返回一个界面元素
textView.setText(""); //设置里面的数值
}
- CheckBox和RadioButton
CheckBox同时可以选择多个选项的控件
RadioButton则是仅可以选择一个选项的控件
RadioGroup是RadioButton的载体,程序运行时不可见,一个RadioGroup可以包含多个RadioButtion,在每个RadioGroup中,用户仅能选择其中一个RadioButton。
CheckBox设置事件监听方法:
final CheckBox checkBox = findViewById(R.id.checkBox);
checkBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
textView.setText("selected:"+ checkBox.isChecked());
}
});
- Spinner
一种能够从多个选项中选一个选项的控件,使用浮动菜单为用户提供选择。
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
ArrayAdapter<String> adapter = new ArrayAdapter<String>
(this,android.R.layout.simple_spinner_dropdown_item, list);
final Spinner spinner = findViewById(R.id.spinner); //创建Spinner控件对象
//关联控件
spinner.setAdapter(adapter); //使用适配器绑定list对象
//设置事件监听器
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
//parent:父控件spinner,view:下拉列表中每个列表的界面,position:该项对应的位置,id:控件编号
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
textView.setText("selected:"+ spinner.getItemAtPosition(position)); //获取对应位置的数值
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
- Button
Button是一种按钮控件,用户能够在该控件上点击,然后引发相应的事件处理函数,ImageButton能够在按钮上显示图形
final Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
textView.setText("selected:"+ button.getText());
}
});
listview
listview是一个以垂直方式在项目中显示视图的列表。是一种不能实现确定视图中的内容的适配器视图(adapter view)。数据和视图的绑定,需要通过继承ListViewAdapter接口的适配器实现。确保当上下滚动的时候,能够动态刷新视图内容。
操作与Spinner相似:
final List<String> list1 = new ArrayList<String>();
list1.add("A");
list1.add("B");
list1.add("C");
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>
(this,android.R.layout.simple_spinner_dropdown_item, list);
final ListView listView = findViewById(R.id.listview);
listView.setAdapter(adapter1);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
//parent:父控件spinner,view:下拉列表中每个列表的界面,position:该项对应的位置,id:控件编号
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
textView.setText("selected:"+listView.getItemAtPosition(position));
}
});
registerForContextMenu(listView); //将listView注册到快捷菜单