2012-03-16 79 views
0
public class CheckitoutActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 

    void change() { 
     setContentView(R.layout.someview); 
    } 
} 

它不会在函数更改中将视图设置为someview。我究竟做错了什么。在android中设置内容视图

+0

您在'setContentView(r.layout.someview);'中使用小型r;'...也不能多次设置内容的视图... – 2012-03-16 05:07:14

+0

这是一个打字错误。现在改变了它。 – user1092042 2012-03-16 05:11:55

回答

0

R.java文件由android本身生成。它有区分大小写。如下面的代码

void change() 
{ 
    setContentView(R.layout.someview); 
} 
+0

你是否在某处调用函数? – Praveenkumar 2012-03-16 05:16:08

+0

是的。我已经调用了函数 – user1092042 2012-03-16 05:19:19

2

你不能动态更改活动的布局,无论是你必须先删除从活动各方面的意见,然后添加新的意见,以活动或者只是使用一些鳍控制动态改变的观点。

+1

+1,用于提及多视图问题 – aProgrammer 2012-03-16 05:18:08

3
  1. 删除设置新视图之前的所有其他视图。
  2. 尝试调试程序,我不确定change()是否实际上是(?)被调用。如果它没有被调用,那么change()不会被android进程回调识别...你可以在onResume()中编写你的代码....学习更多关于Activity类here。当我看到change()不是Activity中的函数...

    public class Activity extends ApplicationContext protected void onCreate(Bundle savedInstanceState);

    protected void onStart(); 
    
    protected void onRestart(); 
    
    protected void onResume(); 
    
    protected void onPause(); 
    
    protected void onStop(); 
    
    protected void onDestroy(); 
    

    }

也使用@Override与功能定义时,要实现基类的方法,这是一个很好的做法...

+1

编辑答案以包含@mayank提到的点。 – aProgrammer 2012-03-16 05:17:37

0

你没有做任何事情,就是喜欢叫在oncreate()中的两个contentviews。 使用flipviews

相关问题