【发布时间】:2018-04-12 04:00:15
【问题描述】:
环境:Android Studio 3.1.1
public class AddQuestionActivity extends AppCompatActivity
{
public Button add_question;
public EditText question_EditText;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_question);
add_question = findViewById(R.id.addquestion);
question_EditText = findViewById(R.id.question_add);
final String question = question_EditText.getText().toString();
Log.d("finds","question1:"+question);
add_question.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Log.d("finds","question:"+question);
if (question.length()==0)
{
new AlertDialog.Builder(AddQuestionActivity.this)
.setTitle(R.string.add_error)
.setMessage(R.string.add_blank)
.setPositiveButton(R.string.ok, null)
.setNeutralButton(R.string.cancel, null)
.show();
}
}
});
}
}
问题的值始终为空。
最后,我找到了另一种方法 在 *.xml 中添加
android:onClick="add_question"
在*.java中使用
public void add_question(View v)
{
}
它有效。
我不明白为什么 setOnClickListener 方法不起作用?
final String question = question_EditText.getText().toString();
我应该将此代码更改为 setOnClickListener 方法吗?
【问题讨论】:
-
你为什么不把问题字符串放在 On-Click 里面!
-
当您的活动打开并且您想要编辑文本的最新值时,它作为问题字符串为空,获取编辑文本的值,因此您应该检查 onClick 内部的长度并获取 editText 的文本内容在 OnClick 内
-
回复:Rahul Chandrabhan:我是 android 新手,有时会犯愚蠢的错误
-
这很酷的兄弟,每个人都......甚至我......哈哈