gpt4 book ai didi

java - 仅在 Android SDK 相对 View 中完成事件后才显示按钮

转载 作者:行者123 更新时间:2023-12-01 21:18:06 24 4
gpt4 key购买 nike

我有一个相对 View (可滚动),其中有一个 TextView ,后跟一个编辑文本。我想做的是,当我在虚拟键盘上按 Enter/Done 以便从 edittext 获取输入时,只显示按钮(表示单击继续)以继续。如果我将按钮放入 xml 中,它会预先可见,因此我尝试在 .java 文件中动态创建按钮,但出现错误。代码如下。

    pwd = (TextView) findViewById(R.id.pwd);
pwd.setText(System.getProperty("user.dir").toString()+" $ ");
command_input = (EditText) findViewById(R.id.command);
command_input.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN) ||
(keyCode == KeyEvent.KEYCODE_ENTER)){

command=command_input.getText().toString();
System.setProperty("user.dir",command);
command_output = (TextView) findViewById(R.id.command_output);
command_output.setText("running!");

Button next = new Button(this); **//error in "this"**
next.setText("Click To Continue");

return true;
}
return false;
}
});

最佳答案

View 可见性正是您所寻找的。

有 3 种可见模式:

  • visible :默认情况下,显示 View
  • invisible : View 未显示,但在布局上占用空间(其大小)
  • gone : View 未显示,并且不占用空间

所以,为了回答你的问题,在你的布局上:

<RelativeLayout 
.....

<Button
android:id="@+id/continueButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Continue"
android:visibility="gone" />

</RelativeLayout>

关于您的 Activity :

final Button continueButton = (Button)findViewById (R.id.continueButton);

command_input.setOnKeyListener (new View.OnKeyListener () {
public boolean onKey (View v, int keyCode, KeyEvent event) {
if (event.getAction () == KeyEvent.ACTION_DOWN || keyCode == KeyEvent.KEYCODE_ENTER){
continueButton.setVisibility (View.VISIBLE);
return true;
}
return false;
}
});

关于java - 仅在 Android SDK 相对 View 中完成事件后才显示按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39600683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com