setcontentview-【Android】setContentView和Inflater问题,请大神们帮我解决!大谢~

问题描述

【Android】setContentView和Inflater问题,请大神们帮我解决!大谢~

一个Activity内多个View互相切换,我查的网上的资料都是使用setContentView+LayoutInflater结合操作,比如这段代码。

enter code here

public class MainActivity extends Activity {
View layoutMain = null;
View layoutSecond = null;
Button btn_mainActivity = null;
Button btn_secondActivity;
boolean firstFlag = true;
long time = (long)0.0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LayoutInflater inflater = this.getLayoutInflater();
layoutMain = inflater.inflate(R.layout.activity_main, null);
layoutSecond = inflater.inflate(R.layout.activity_second, null);
setContentView(layoutMain);

    btn_mainActivity  = (Button)findViewById(R.id.btn_mainAc_1);
    btn_mainActivity.setOnClickListener(new ButtonListen());

}

class ButtonListen implements OnClickListener{

    public void onClick(View v) {
        // TODO Auto-generated method stub
        time = System.currentTimeMillis();
        switch(v.getId()){
        case R.id.btn_mainAc_1:
            Jump2Second();
            break;
        case R.id.btn_secondA_1:
            Jump2Main();
            break;
        default:
            break;
        }
    }

}
public void Jump2Second(){
    setContentView(layoutSecond);
    long currTime = System.currentTimeMillis();
    Toast.makeText(MainActivity.this,
            "时间:"+String.valueOf(currTime-time)+"秒",
            Toast.LENGTH_SHORT).show();
    if(firstFlag){
        btn_secondActivity = (Button)findViewById(R.id.btn_secondA_1);
        btn_secondActivity.setOnClickListener(new ButtonListen());
        firstFlag = false;
    }           

}
public void Jump2Main(){
    setContentView(layoutMain);
    long currTime = System.currentTimeMillis();
    Toast.makeText(MainActivity.this,
            "时间:" +String.valueOf(currTime-time)+"秒",
            Toast.LENGTH_SHORT).show();
}

}

enter code here

但是我自己练习了一个,没有用到Inflater,直接用setcontentview切换,可以吗?和上面的方法有什么不同吗?为什么一定要通过LayoutInflater转换成View,再传到setcontentview中呢,setcontentview不是有一个传ID的重载方法吗?
下面是我的代码:

enter code here

public class MainActivity extends Activity {
private EditText myedit = null;
private Button mybut1 = null;
private Button mybut2 = null;

// private LayoutInflater inflater = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    myedit = (EditText) findViewById(R.id.myedit);
    mybut1 = (Button) findViewById(R.id.mybut1);
    mybut1.setOnClickListener(new buttonlisener());
}

public class buttonlisener implements OnClickListener {
    @Override
    public void onClick(View v) {
        switch(v.getId()) {
        case R.id.mybut1:
            setContentView(R.layout.second);
            mybut2 = (Button)MainActivity.this.findViewById(R.id.mybut2);
            mybut2.setOnClickListener(new buttonlisener());
            break;
        case R.id.mybut2:
            setContentView(R.layout.activity_main);
            mybut1 = (Button) findViewById(R.id.mybut1);
            mybut1.setOnClickListener(new buttonlisener());
            break;
        default:
            break;
        }
    }

}

}

时间: 2024-11-16 01:25:46

setcontentview-【Android】setContentView和Inflater问题,请大神们帮我解决!大谢~的相关文章

c#代码-21点游戏代码 求大神的帮帮忙

问题描述 21点游戏代码 求大神的帮帮忙 求大神 帮帮忙 21点游戏代码,开发环境是vs2012. 谢谢了, 用的是c# 我是菜鸟 就是比普通的21点看起来高大上,炫酷一点 解决方案 参考:http://www.doc88.com/p-3324308039590.html 你先把基本的做出来,再谈高级的吧.

ndroid 脚标越界-脚标越界求助,调了好久,还请路过大神顺带帮解决。。。

问题描述 脚标越界求助,调了好久,还请路过大神顺带帮解决... 代码如下 package com.example.datebase; import java.util.ArrayList; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; public

servlet- 出现下面错误怎么解决啊 ,求方法,请大神们帮我看看!

问题描述 出现下面错误怎么解决啊 ,求方法,请大神们帮我看看! if(agent.contains("MSIE")){ 这句报错, 错误提示The method contains(CharSequence) from the type String refers to the missing type CharSequence package cn.itcast.response; import java.io.FileInputStream; import java.io.IOExc

cocos2dx3.x-Cocos3.x 移植到Android平台 xml文件读取出错,搞了两天了,大神们帮帮忙。求

问题描述 Cocos3.x 移植到Android平台 xml文件读取出错,搞了两天了,大神们帮帮忙.求 Cocos3.x 移植到Android平台 xml文件读取出错,搞了两天了,大神们帮帮忙.网上的代码也看完了,不顶用.想要个人来交流. 解决方案 顶起来,大神们,小弟今天是要离不开公司了.拜托了

编码-哈夫曼树,请问大神们,下面的译码部分怎么没有输出?请大神们帮我修改下~~~(最好再加个能有个文件输出)

问题描述 哈夫曼树,请问大神们,下面的译码部分怎么没有输出?请大神们帮我修改下~~~(最好再加个能有个文件输出) #include #include #include #define maxsize 100 #define max 100 typedef struct { char data; int weight; int parent; int lchild; int rchild; }huffnode; typedef struct { char cd[max]; int start; }

服务器-出现下面错误怎么解决啊 ,求方法,请大神们帮我看看!

问题描述 出现下面错误怎么解决啊 ,求方法,请大神们帮我看看! if(agent.contains("MSIE")){ 这句报错, 错误提示The method contains(CharSequence) from the type String refers to the missing type CharSequence package cn.itcast.response; import java.io.FileInputStream; import java.io.IOExc

连接数据库 错误-我的sql连接有问题吗?用的是Dwr!看下面代码以及出的问题,请大神们帮我呀!

问题描述 我的sql连接有问题吗?用的是Dwr!看下面代码以及出的问题,请大神们帮我呀! 我的DBManager!用于连接数据库! package com.qhit.util; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.n

汇编语言-请大神们帮我看一下这个程序哪出错了,万分感谢!!

问题描述 请大神们帮我看一下这个程序哪出错了,万分感谢!! STACK1 SEGMENT STACK DW 200 DUP (?) STACK1 ENDS DATA SEGMENT SPACE DB 1000 DUP (' ') PATTERN DB 6 DUP (' '),0C9H,26 DUP (0CDH),0BBH,6 DUP (' ') DB 6 DUP (' '),0BAH,26 DUP (20H),0BAH,6 DUP (' ') DB 6 DUP (' '),0C8H,26 DUP

无法输入-请大神们帮帮忙,程序中折半算法怎么不可以输入,直接跳到最后了

问题描述 请大神们帮帮忙,程序中折半算法怎么不可以输入,直接跳到最后了 #include "stdafx.h" #include #define MIX_SIZE 20 using namespace std; typedef struct _Data { int *elem; int lengh; }Data; void Creat(Data &data) { data.elem=(int *)malloc(MIX_SIZE*sizeof(int)); data.lengh=