attribute=(TextView) findViewById(R.id.textview1);
dataAttribute=(TextView) findViewById(R.id.textview2);
attribute.setClickable(true);
attribute.setOnClickListener(this);
dataattribute.setClickable(true);
dataattribute.setOnClickListener(this);
//dataAttribute.setOnClickListener(new OnClickListener(){
//@Override
//public void onClick(View v) {
// TODO Auto-generated method stub
//setContentView(R.layout.activity_main);
//}
//});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void onClick(View v)
{
if(v==attribute)
{
setContentView(R.layout.second_activity);
}
if(v==dataattribute)
{
setContentView(R.layout.main_activity);
}
}
抱歉新手问题我的问题是
有两个布局1- main_activity.xml和2- second_activity.xml main_activity包含textview1,second_activity包含textview2。 单击第一个TextView后设置第二个布局,但单击第二个文本则不显示main_activity.xml布局。
答案 0 :(得分:0)
您应该这样做:
public void onClick(View v)
{
switch (v.getId()){
case R.id.textview1:
setContentView(R.layout.second_activity);
dataAttribute=(TextView) findViewById(R.id.textview2);
dataAttribute.setClickable(true);
dataAttribute.setOnClickListener(this);
break;
case R.id.textview2:
setContentView(R.layout.main_activity);
break;
}
}
您之前所做的是比较对象的引用,在某些条件下可能会有效(如果引用相同),但通常不会,因此这会导致逻辑问题。比较视图的id
是正确的方法。您也没有找到textView2
,因为它位于其他xml文件中。