在本文中,我们将实现一个重要且非常有趣的功能。通过各种社交媒体平台与朋友聊天时,您可能会发现,如果您的朋友正在输入内容,则显示“正在键入”。这里将要实现相同。当我们开始输入内容时,它将显示输入内容,而当我们删除所有内容时,它将显示停止输入内容。下面给出了一个示例GIF,以了解我们将在本文中做些什么。注意,我们将使用Java语言实现该项目。
分步实施
步骤1:创建一个新项目
要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。
步骤2:使用activity_main.xml文件
导航到应用程序> res>布局> activity_main.xml,然后将以下代码添加到该文件中。以下是activity_main.xml文件的代码。
XML
Java
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
EditText msg;
TextView confirm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
msg = findViewById(R.id.check);
confirm = findViewById(R.id.confirm);
// When there is change in state of edittext input
msg.addTextChangedListener(new TextWatcher() {
@Override
// when there is no text added
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
if (s.toString().trim().length() == 0) {
// set text to Not typing
confirm.setText("Not Typing");
} else {
// set text to typing
confirm.setText(" Typing");
}
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
confirm.setText(" Typing");
}
// after we input some text
@Override
public void afterTextChanged(Editable s) {
if (s.toString().trim().length() == 0) {
// set text to Stopped typing
confirm.setText("Stopped Typing");
}
}
});
}
}
步骤3:使用MainActivity。 Java文件
转到MainActivity。 Java文件并参考以下代码。下面是MainActivity的代码。 Java文件。在代码内部添加了注释,以更详细地了解代码。
Java
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
EditText msg;
TextView confirm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
msg = findViewById(R.id.check);
confirm = findViewById(R.id.confirm);
// When there is change in state of edittext input
msg.addTextChangedListener(new TextWatcher() {
@Override
// when there is no text added
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
if (s.toString().trim().length() == 0) {
// set text to Not typing
confirm.setText("Not Typing");
} else {
// set text to typing
confirm.setText(" Typing");
}
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
confirm.setText(" Typing");
}
// after we input some text
@Override
public void afterTextChanged(Editable s) {
if (s.toString().trim().length() == 0) {
// set text to Stopped typing
confirm.setText("Stopped Typing");
}
}
});
}
}