0
我是Android开发新手,我想让应用程序具有标题,正文和页脚,并通过单击页脚中的某个按钮,将一些布局加载到正文中。我用here所描述的某种“MasterPage”。 按下按钮时既没有加载new_exercise
布局,也没有exercises
布局。为什么?也许而不是所有这些,我应该使用任何类型的选项卡?或者,也许我不能夸大布局,应该创造新的活动?为什么要在Android中将布局充气到另一个布局?
这里BaseActivity和NewExercise活动代码:
public class BaseActivity extends Activity{
LinearLayout linBaseBody;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.base_layout);
linBaseBody = (LinearLayout)findViewById(R.id.base_body);
initButtons();
}
@Override
public void setContentView(int id) {
LayoutInflater inflater = (LayoutInflater)getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(id, linBaseBody);
}
private void initButtons()
{
Button btn1 = (Button) findViewById(R.id.newEx);
btn1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
setContentView(R.layout.new_exercise);
}
});
Button btn2 = (Button) findViewById(R.id.showAllEx);
btn2.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
setContentView(R.layout.exercises);
}
});
}
public class NewExercise extends BaseActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.new_exercise);
}
}
public class Exercises extends BaseActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.exercises);
}
}
每次点击创建新活动不会太重,或者我应该让GC担心这一点? – theateist 2012-03-05 20:54:45
这取决于你在每个活动中的具体计划。但是,在所有可能的情况下,不,在GC上它不会太重,或者更准确地说,它不应该干扰用户体验。 – AedonEtLIRA 2012-03-05 20:57:45
所有我想要做的是某种标签(当我想到它了!),当每个标签有不同的功能,但所有标签将具有相同的标题,如我的文章中所述。那么使用'TabHost'(或别的什么?)会更好,而不是试图在一个活动中扩充布局? – theateist 2012-03-05 21:08:57