糟糕的继承

时间:2015-02-27 13:00:32

标签: android inheritance

我正在做一个Android应用程序,由于某种原因,我的继承无效。

WITBase:

public class WITBase extends Activity {
    public static List <History> searches = new ArrayList<History>();
    public int index;
    public boolean newHistory(History history){
        searches.add(history); 
        index = history.index;

        System.out.println(index);  //Shows the right number    
        return true;
    }

以及问题所在:

WITInfo:

    public class WITInfo extends WITBase{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        System.out.println(super.index);//always shows 0 :/
        switch (super.index){
            case 2: case 3:
                setContentView(R.layout.mb_wit);
            case 4:case 5:case 6:
                setContentView(R.layout.bb_wit);
            case 7:
                setContentView(R.layout.it_wit);
            case 8:
                setContentView(R.layout.ftg_wit);
            case 1:case 9:
                setContentView(R.layout.tl_wit);
            default:
                setContentView(R.layout.info_wit);
        }

我不知道这些信息是否足以让你帮助我,所以如果你需要更多的东西我会写在这里。

1 个答案:

答案 0 :(得分:0)

WITBase.index的默认值为0. OnCreate是第一个被调用的东西。所以这解释了0值。

newHistory设置值时,应检查运行时的值。