Android 两个布局是否向一个活动返回相同的视图对象?
很抱歉我的问题是 有两个布局1-main_activity.xml和2-second_activity.xml 主_活动包含textview1,第二个_活动包含textview2。Android 两个布局是否向一个活动返回相同的视图对象?,android,android-layout,Android,Android Layout,很抱歉我的问题是 有两个布局1-main_activity.xml和2-second_activity.xml 主_活动包含textview1,第二个_活动包含textview2。 单击第一个文本视图后,设置第二个布局,但单击第二个文本后,它将不显示main_activity.xml布局。您可能应该执行以下操作: attribute=(TextView) findViewById(R.id.textview1); dataAttribute=(TextView) findView
单击第一个文本视图后,设置第二个布局,但单击第二个文本后,它将不显示main_activity.xml布局。您可能应该执行以下操作:
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);
}
}
您之前所做的是将引用与对象进行比较,这在某些条件下可能会起作用(如果引用相同),但通常不会,因此这会导致逻辑问题。比较视图的id
是正确的方法。您也没有找到textView2
,因为它在另一个xml文件中
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;
}
}