覆盖android中的布局

时间:2011-05-24 13:52:57

标签: android android-layout

我有android库项目 - 包含

的SampleLibrary
  1. 布局文件夹中的布局文件sample_layout.xml
  2. 以及使用此布局文件sampleLayout.java
  3. 的相应java文件

    我在使用

    的同一个工作区中也有SampleExample android项目
    1. SampleLibrary作为来源
    2. 它的布局文件夹中还包含sample_layout.xml,它与SampleLibrary中的sample_layout.xml相同,只是它包含一个按钮。
    3. 现在,如果我想在SampleExample项目中为此按钮设置事件侦听器。如何在不对sampleLayout.java进行更改的情况下完成此操作?我们可以在SampleExample项目中进行更改。

3 个答案:

答案 0 :(得分:0)

因此,更改SampleExample项目中的sample_layout.xml名称,这将是最安全的事情。

答案 1 :(得分:0)

您必须在SampleExample中覆盖SampleLayout.java。

答案 2 :(得分:0)

我认为您应该能够覆盖SampleLayout.java。 尝试这样的事情:

public class SampleLayout extends your.lib.SampleLayout {

private Button newButton;

@Override
public void onCreate(Bundle savedInstanceState) {
    ...
    newButton = (Button)findViewById(R.id.thebutton);
    newButton.setOnClickListener(this); 
}

@Override
public void onClick(View view) {

    if (newButton.getId() == view.getId()) {
        // button pressed
    } else {
        super.onClick(view); 
       // library handles this
    }
}