java - 以编程方式设置按钮单击时的 View 宽度

标签 java android

现在我有一个 ID 为“getUserName”的 EditText 以及它旁边的一个 id 为“setName”的按钮(两者都在线性 View 中) 我希望有人能够单击 setName,并使 EditText 字段消失,按钮消失,然后由 TextView 取代它。这是我到目前为止所得到的:

public void setName(View view){
    EditText editText = (EditText) findViewById(R.id.getUserName);
    Button button = (Button) findViewById(R.id.setName);
    TextView textView = (TextView) findViewById(R.id.displayName);
    String playerName = editText.getText().toString();
    ((ViewManager)editText.getParent()).removeView(editText);
    ((ViewManager)button.getParent()).removeView(button);
    Log.d("ScoreKeeper", playerName);
}

所以我成功地从屏幕上删除了所需的元素,但我不知道如何添加 textView 来代替它们。

我怎样才能做到这一点?我是 Android 新手,如果这看起来很无知,请原谅我。我试过查一下!

谢谢

OPSRCFTW

最佳答案

您可以使用打开可见性来隐藏 EditText、Button 和 TextView。

您可以在 xml 文件中添加 textview 并使其不可见。 单击按钮时,只需更改其可见性... 因此,代码位于按钮单击上,如下所示:

textview.setVisibility(View.VISIBLE);
edittext.setVisibility(View.GONE);
button.setVisibility(View.GONE);

关于java - 以编程方式设置按钮单击时的 View 宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18544317/

相关文章:

java - 使用 javax.tools.JavaCompiler 等

java - 使用 xpath 计算行数但 .size() 不可用

java - PostgreSQL 使用 JPA 和 Hibernate 抛出 "column is of type jsonb but expression is of type bytea"

android - java.net.ConnectException : failed to connect to/103. XX.XX.38(端口 8080):连接失败:ECONNREFUSED(连接被拒绝)

android - 如何检测应用程序(或手机)是否已连接到 Android Auto

android - 如何在android中获取两次之间的时间列表?

java - JmsTemplate批量问题

java - 线性布局不可见/重叠

android - index.xml 中的钛安卓菜单

android - qt qml : deploying sqlite database to android using . qrc 文件不工作