レイアウトファイル - main.xml(線形レイアウト)には、2つのボタン(たとえばb1とb2)、1つのリストビューと1つの相対レイアウトがあります。 b1をクリックすると、リストビューはVISIBLE
となり、相対レイアウトはGONE
となります。 b2をクリックすると、リストビューは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(ユーザー名)がロックされ、コードである(すなわちsetenabledとsetfocussableが偽作られています)。しかし、b1をクリックしてからb2をクリックすると、Edittextはロックされず、setTextもそこにはありません。これにはどのような理由がありますか?
を書き留めする必要が子供がいる、それは理にかなって... :-) – user370305
@ user370305はい私は知っている、実際に私は日食コードエディタ内のレイアウトのコード例を作成していた:) –
@PareshMayani:Surajは、彼が得ているアウトプットの理由を尋ねました。 – Ashwin