Android EditText不为空时显示TextView
我正在使用Android应用程序,遇到了以下问题 问题:当两个edittext字段不为空时(当edittext字段中写入文本时),我希望TextView显示一些文本 我所做的:Android EditText不为空时显示TextView,android,android-studio,Android,Android Studio,我正在使用Android应用程序,遇到了以下问题 问题:当两个edittext字段不为空时(当edittext字段中写入文本时),我希望TextView显示一些文本 我所做的: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.text_to
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle
savedInstanceState) {
View rootView = inflater.inflate(R.layout.text_to_speech, container, false);
...
if(edittextbox1.getText().toString().length() !=0 && edittextbox2.getText().toString().length() !=0) {
textview.setText("some text")
}
return rootView;
}
这是行不通的。文本视图永远不会弹出。想知道为什么吗?请尝试设置文本视图的可见性
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle
savedInstanceState) {
View rootView = inflater.inflate(R.layout.text_to_speech, container, false);
...
if(edittextbox1.getText().toString().length() !=0 && edittextbox2.getText().toString().length() !=0) {
textview.setText("some text");
textview.setVisibility(View.VISIBLE);
}
return rootView;
}
您需要使用类似的方法来收听
EditText
字段
edittextbox1 = (EditText)findViewById(R.id.editText);
edittextbox1.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int st, int b, int c)
{
}
@Override
public void beforeTextChanged(CharSequence s, int st, int c, int a)
{
if(edittextbox1.getText().toString().length() !=0) {
textview.setText("some text")
}
}
@Override
public void afterTextChanged(Editable s)
{
if(edittextbox1.getText().toString().length() !=0) {
textview.setText("some text")
}
}
});
像这样做。它会成功的
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle
savedInstanceState) {
View rootView = inflater.inflate(R.layout.text_to_speech, container, false);
EditText edittextbox1=(EditText)rootView.findViewById(R.id.your_edittext_id1);
EditText edittextbox2=(EditText)rootView.findViewById(R.id.your_edittext_id2);
TextView textView=(TextView)rootView.findViewById(R.id.your_textview_id1);
if ((edittextbox1.getText().toString().length() != 0) && (edittextbox2.getText().toString().length() != 0)) {
textView.setVisibility(View.VISIBLE);
textview.setText("some text");
} else {
textView.setVisibility(View.GONE);
}
return rootView;
}
尝试此操作将TextWatcher添加到两个编辑文本。如果条件为真,您可以更改两个编辑文本的文本,然后获得长度并显示文本视图
TextWatcher textWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int st, int b, int c)
{
}
@Override
public void beforeTextChanged(CharSequence s, int st, int c, int a)
{
}
@Override
public void afterTextChanged(Editable s)
{
if(edittextbox1.getText().toString().length() != 0 && edittextbox2.getText().toString().length() != 0) {
textView.setVisibility(View.VISIBLE);
textview.setText("some text");
}
}
};
edittextbox1.addTextChangedListener(textWatcher);
edittextbox2.addTextChangedListener(textWatcher);
这两种方法都不行,因为他需要听文本更改谢谢你的回答!您知道有没有一种简单的方法可以同时查看“edittextbox1”和“og”edittextbox2?