Android的;被观点困惑?

时间:2011-01-02 00:34:43

标签: android view extend

我创建了一个类(InputControl),它扩展了我的主类(Main)的视图,并且成为了屏幕的焦点。我在主xml布局上有一个按钮,它调用control()并设置我的InputControl视图,从那里我捕获用户输入。

如何从InputControl视图类返回xml布局?

public class Main extends Activity {

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

    InputControl = new InputControl(this);
}

//......SNIP!

public void control(){
setContentView(InputControl);
    InputControl.requestFocus();
}

}


public class InputControl extends View implements OnTouchListener {

public InputControl(Context context) {
    super(context);
    setFocusable(true);
    setFocusableInTouchMode(true);

    this.setOnTouchListener(this);

}


public boolean onTouch(View view, MotionEvent event) {

//...I AM CAPTURING USER TOUCH EVENTS HERE

}


}

1 个答案:

答案 0 :(得分:3)

除非您有特定的理由以这种方式执行操作,否则更好的方法是使用自己的布局文件创建第二个活动(例如InputControlActivity)并将InputControl类嵌入到该文件中。

然后您将启动第二个活动的实例(使用startActivity()) - 一旦您完成InputControlActivity,只需按下手机的BACK按钮即可关闭该活动并返回主活动。