gpt4 book ai didi

android - 在android中的布局之间切换

转载 作者:行者123 更新时间:2023-11-29 18:12:13 26 4
gpt4 key购买 nike

在我的布局文件 - main.xml(线性布局)中,有 2 个按钮(比如 b1 和 b2)、1 个 ListView 和 1 个相对布局。当我单击 b1 时, ListView 变为VISIBLE,相关布局变为GONE。当我单击 b2 时, ListView 变为 GONE 并且相对布局变为 VISIBLE。这是代码,

b1.setOnClickListener(new OnClickListener(){
public void onClick(View v)
{
try{ListView listView = (ListView) Home.this.findViewById(R.id.mylist);
listView.setTextFilterEnabled(true);

String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
"Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
"Linux", "OS/2" ,"asdsad","asdsdsa","asdasdsa"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(context,
R.layout.list_item,values);

// Assign adapter to ListView
RelativeLayout rl=(RelativeLayout) findViewById(R.id.rl1);
rl.setVisibility(8);
listView.setAdapter(adapter);
listView.setVisibility(0);}
catch(Exception e){Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show();}
}

});<br>
b2.setOnClickListener(new OnClickListener(){
public void onClick(View v)
{
try
{

ListView ls=(ListView) findViewById(R.id.mylist);
ls.setVisibility(8);
RelativeLayout rl=(RelativeLayout) findViewById(R.id.rl1);
getLayoutInflater().inflate(R.layout.creategroup,rl,true);
rl.setVisibility(0);


EditText username=(EditText) findViewById(R.id.group_owner_fill);
username.setText(userid);
username.setEnabled(false);
username.setFocusable(false);
boolean t=username.isEnabled();
String s=new Boolean(t).toString();
Toast.makeText(getApplicationContext(), s, Toast.LENGTH_LONG).show();



}
catch(Exception e)
{
Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show();
}
}

});



第一次单击 b2 时,Edittext(username) 被锁定(即 setenabled 和 setfocussable 被设置为 false)。但是当我单击 b1 然后单击 b2 时,Edittext 未锁定并且 setText 也不存在。这可能是什么原因?

最佳答案

与其设置可见性,我建议您实现 ViewFlipper .因为 ViewFlipper 允许我们在用户需要时翻转 View 。

 <ViewFlipper
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/flip">

<ListView />
<RelativeLayout>
.............
.............
.............
</RelativeLayout>

</ViewFlipper>

在代码中,您可以使用 setDisplayedChild() 方法翻转 View 。仅供引用,RelativeLayout 是 child 1。所以你必须写下 flipper.setDisplayedChild(1)

关于android - 在android中的布局之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10071974/

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