【发布时间】:2017-01-05 09:20:23
【问题描述】:
我有一个内容视图,说主要活动上的主要设置,当单击一个按钮时,它会设置另一个内容视图,比如 setContentView(R.layout.sec_content)。我现在想要的是,当按下后退按钮时,如果当前视图是次要的,它应该设置主要内容,否则它应该关闭活动。我怎么做? 这是我的代码
public class Ch_1 extends AppCompatActivity {
Button men1, men2, men3;
TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ch_1);
men1 = (Button)findViewById(R.id.men1);
men1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
setContentView(R.layout.activity_read__view);
TextView tv1 = (TextView)findViewById(R.id.read_view);
tv1.setText("This is text in READ_VIEW activity");
}
});
}
}
【问题讨论】:
-
是的,我正在使用 Android Studio。
-
对不起,我是安卓新手。
-
与其创建两个布局为什么不为您的替代布局创建第二个活动,您的按钮将打开第二个活动并且您的 onBackPressed 会自然地运行(带您回到上一个活动(布局) ?
-
是的,我能做到。但是我有很多按钮要添加到我的活动中并相应地设置文本,所以如果我使用活动,我必须创建许多活动。我想为我的所有按钮在相同的布局中设置文本。我只在返回按钮时卡住了。有什么办法可以解决这个问题。比如为 onBackButtonPressed 设置一个参数,如果 currentView == secondary {setContentView(R.layout.prim_content)} 否则关闭活动。
-
创建 2 个 Activity 而不是布局,如果没有尝试切换布局的可见性而不是更改 ContentViews。
标签: android onbackpressed setcontentview