簡體   English   中英

標題欄中的按鈕如何到達它

[英]Button in title bar how to reach it

使用按鈕創建標題欄時,這在所有活動中都很常見,例如在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這可能嗎?

像這樣制作一個抽象的Activity

public abstract class MyAbsActivity extends Activity {
    abstract public void buttonClickedInTab();
}

然后使用MyAbsActivity擴展兩個子項的ActivityMyAbsActivity ,然后必須覆蓋buttonClickedInTab()方法。

覆蓋該方法時,將您的邏輯放在兩個活動中。 例如你的About buttonClickedInTab()應該如下所示:

public class About extends MyAbsActivity {

    //onCreate() etc here

    @Override
    public void buttonClickedInTab() {
        //Your logic to do action for About
    }

}

對其他SettingActivity重復此SettingActivity

現在在TabActivity中處理標題按鈕事件onClick()

public void onClick(View v)
{
    MyAbsActivity activity = (MyAbsActivity)getLocalActivityManager().getCurrentActivity();
    activity.buttonClickedInTab(); // it will inform the current activity
}
public class Android_templateActivity extends Activity
{
private static OnClickListener listener;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    View v = new View(this);

    v.setOnClickListener(new OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            Android_templateActivity.listener.onClick(v);
        }
    });
}

public static void setListener(View.OnClickListener listener)
{
    Android_templateActivity.listener = listener;
}
}

這是主要活動

public class aaa extends Activity implements OnClickListener
{
@Override
protected void onResume()
{
    Android_templateActivity.setListener(this);
    super.onResume();
}

@Override
public void onClick(View v)
{
    // TODO Auto-generated method stub

}
}

這是子活動

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM