2012-01-26 4 views
1

버튼이있는 제목 표시 줄을 만드는 경우 모든 활동에서 공통적으로 사용됩니다. tabactivities에서 만든 제목 표시 줄. 모든 하위 활동에서 버튼에 어떻게 도달 할 수 있습니까?하위 활동의 ​​제목 표시 줄에 도달

public class tabActivity extends TabActivity implements OnClickListener{ 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    c = this; 
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 

    setContentView(R.layout.tabactivity); 

    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title); 

    mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("Settings", 
      res.getDrawable(R.drawable.preferences)).setContent(
        new Intent(this, Settings.class))); 

    mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("About", 
      res.getDrawable(R.drawable.newspaper)).setContent(
        new Intent(this, About.class))); 

난 내 탭을 초기화하고 버튼으로 지정 제목 곳은 여기 .. ​​

그리고이 클래스에서 나는 사용자 정의 제목 :

public class About extends Activity 
{ 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.about); 

    ImageView imag = (ImageView) findViewById(R.id.Position); 
    imag.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      System.out.println("heeey"); 
     } 
    }); 

} 
의 버튼에 도달하고 싶습니다

청취자가 작동하지 않습니까 ??

Hooow는 가능합니까 ??

답변

1
public class tabActivity extends TabActivity{ 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    c = this; 
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 

    setContentView(R.layout.tabactivity); 

    ImageView imag = (ImageView) findViewById(R.id.Position);   
    imag.setOnClickListener(new OnClickListener() {   

    public void onClick(View v) {   
     tabActivity.listener.onClick(v); 
    }   

    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title); 

    mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("Settings", 
     res.getDrawable(R.drawable.preferences)).setContent( 
       new Intent(this, Settings.class))); 

    mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("About", 
     res.getDrawable(R.drawable.newspaper)).setContent( 
       new Intent(this, About.class))); 
} 

public static void setListner(OnClickListener listener) 
{ 
    tabActivity.listner = listener; 
} 

주요 활동은하지 구현의 EventListener

public class About extends Activity implements OnClickListener 
{  
    @Override  
    public void onCreate(Bundle savedInstanceState)  
    {  
     super.onCreate(savedInstanceState);  

     setContentView(R.layout.about);  

    });   

    public void onResume() 
    { 
     tabActivity.setListener(this); 
    } 


}  

코드는 다음과 같이 진행을한다. 설명하기가 어렵습니다.

0

그 목적은 무엇입니까? 이벤트 제어는 주 활동에서 사용할 수 있습니다.

+0

다른 활동에서 리스너 함수를 사용하고 싶습니다. – Jacksons

+0

onTabChanged가 호출 될 때 각 활동을 리스너로 설정하는 것이 좋습니다. 각 활동마다 다른 작업을 수행 할 수 있습니다. – lulumeya

+0

내 하위 활동에서 청취자가 필요합니다. 가능합니까? 나는 tabActivity에서 그들에게들을 수 있다는 것을 안다. – Jacksons