首页 新闻 会员 周边

Android 中代码文件和布局文件的关系问题

0
悬赏园豆:10 [已解决问题] 解决于 2018-09-28 15:17

初学android,感觉代码文件和布局文件很混乱,不像VS中一个aspx文件就对应一个aspx.cs文件,都是一一对应的,在android里面我总是找不到是哪个xml文件在使用当前java文件,详细如下:

现在有一个主页面,这里命名为A;一个具体的设置页面,这里命名为B,在A页面上有一个按钮C,APP加载的时候自动加载A页面进来,代码如下:

static View mainView;
static View v;
 
    void loadHome() {          
        if (mainView== null) {

            mainView= View.inflate(MainActivity.this, R.layout.view_home , null);
            mainView.setTag(0);  
        } 
        mainContentLayout.removeAllViews(); 
        mainContentLayout.addView(mainView);
         
    }

初始化没有问题,现在我在A页面上点击按钮C的时候,跳转到B页面,代码如下:

@Override
    public void onClick(View view) {
        int btnId = view.getId();
        v = null;        
        switch (btnId) {
        case R.id.btnhome:    
            
            if (v == null) {
                v =View.inflate(MainActivity.this, R.layout.view_home , null);                
            }         
            mainContentLayout.removeAllViews(); 
            mainContentLayout.addView(v);     
            break;
        case R.id.btnAdd:            
            if (v == null) {
                //这里跳转到设置界面
                v =View.inflate(MainActivity.this, R.layout.activity_add_notes , null);                
            } 
            mainContentLayout.removeAllViews();
            mainContentLayout.addView(v);             
            break;
     
        }
    }

这个跳转都没有问题,现在问题来了:

在B页面上有很多控件,比如有一个button,那么这个button的监听事件应该写在哪里?我新建了一个java文件,专门来处理这个B页面的逻辑,但是貌似关联不起来。

无 影的主页 无 影 | 初学一级 | 园豆:59
提问于:2015-12-12 10:15
< >
分享
最佳答案
0

你的代码不是页面跳转,而是把A页面的所有View移除后,inflate B的页面布局,将B的页面布局,加载到A页面里。执行页面跳转,应该使用startActivity(Intent intent)方法。

如果你确实是要把A页面的所有View移除,然后把B布局加载到A中,button的监听事件应该写在A的Activity中,在A文件中,给B设置监听事件;如果你想新建一个java文件C,用来处理B页面的逻辑,可以将A对象传递给C,这样直接应用耦合性高一些,不利于扩展,所以,你也可以通过接口监听回调的方式。

收获园豆:10
_启明 | 初学一级 |园豆:38 | 2016-03-23 10:13
其他回答(2)
0

Intent intent = new Intent();  
intent.setClass(ActA.this, ActA.class);          

startActivity(intent); 

_Arnold | 园豆:635 (小虾三级) | 2015-12-14 15:11
0

Intent.setClass

参考以下这个

http://www.cnblogs.com/51pansou/p/5165851.html

babys | 园豆:218 (菜鸟二级) | 2016-01-28 17:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册