Android第三讲笔记(Activity简单操作)
Activity的概念
Activity是Android四大组件之一,为用户提供与系统交互的界面,对页面进行逻辑的操作
例如:QQ的界面每个人信息不一样,点击登陆按钮后的操作等等
Activity的操作
获得控件的方法
首先,在对控件进行交互时,要获得控件。通过**findViewById(R.id.控件id)**获得控件。然后可以对控件进行操作,下面是简单的演示。(关于R,创建的每一个工程出来src文件夹之外还有一个gen文件夹,gen里面有一个R.java,你在res目录下使用的图片,布局等资源都会在gen目录里的R。java自动生成对应的id。方便你调用)
按钮点击事件
点击事件
1.实现类继承View.OnClickListener并且重写onClick方法
2.匿名类实现
3.拉姆达表达式实现。用此方法接口名字可以省略,方法名字也可以省略,但接口中只能有一个方法。
详细见代码
示例一:点击按钮打印日志
Log.i(“标签名字”,“打印内容”);
Activity代码:
package com.hnucm.android_03;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 通过代码修改文本的值
// 第一步 拿到文本的引用 根据文本的内存地址找到这个控件
TextView textView= findViewById(R.id.textView5);
textView.setText("湖南中医药大学");
//给浮点类型的数据,浮点类型可以转成sp
textView.setTextSize(50);
//拿到按钮的引用
Button button = findViewById(R.id.button);
//创建了一个类,实现了接口,匿名内部类
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("MainActivity","MyOnClick");
}
});
//接口的名字也可以省略,方法的名字也可以省略,参数名字也可以省略
//拉姆达表达式 接口只能有一个方法
button.setOnClickListener(
(v) -> {
Log.i("MainActivity","MyOnClick");
}
);
}
}
示例二:获取文本值并判断正误
这里用到了在app中打印的方法。
核心代码:Toast.makeText(MainActivity.this,"登陆成功",Toast.LENGTH_LONG).show();
这个方法需要传递三个参数,第一个是Context,是Toast的上下文,由于活动本身继承了Context对象,使用当前Activity即可。第二个参数是Toast显示的内容。第三个参数是Toast显示的时长。
Activity代码
package com.hnucm.android_03;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText usernameText = findViewById(R.id.editTextTextPersonName);
EditText passwordText = findViewById(R.id.editTextTextPersonName2);
// MainActivity的父类的父类的父类的......是Context
Button button=findViewById(R.id.button2);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String username = usernameText.getText().toString();
String password = passwordText.getText().toString();
if(username.equals("hnucm")&&password.equals("123456")){
Toast.makeText(MainActivity.this,"登陆成功",Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(MainActivity.this,"登陆失败",Toast.LENGTH_LONG).show();
}
}
});
}
}
示例三:简单加法计算器
在获得文本控件的数值之后,经过计算返回结果给另一个文本控件
Activity代码
package com.hnucm.android_03;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText num1 = findViewById(R.id.textView2);
EditText num2 = findViewById(R.id.textView3);
EditText result=findViewById(R.id.textView4);
// MainActivity的父类的父类的父类的......是Context
Button button=findViewById(R.id.button3);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int i = Integer.parseInt(num1.getText().toString());
int j = Integer.parseInt(num2.getText().toString());
result.setText((i+j)+"");
}
});
}
}
示例四:实现了加减乘除的计算器
预告:过几天会将实现的多个数字加减乘除的计算器代码放出来(虽然已经完成了,因为这个是作业,很多同学还未完成,作业截止后发出)先放几张图。
补充
出现错误解决方法(在模拟器中出现错误)
报错了,没有这个id
1.查看日志
2.分析错误的位置
欢迎批评指正,未完待续…
————————————————
版权声明:本文为博主「a碟」的原创文章