[英]Call override method from another activity
我必須使用按鈕單擊從另一個活動中調用接口重寫方法。在GridActivity類中,我必須使用圖像按鈕。
如果單擊此按鈕,則需要調用其他活動接口重寫方法。
GridActivity3.java:
public class GridActivity3 extends Activity implements OnClickListener {
ImageButton btn_home;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_grid3);
btn_home = (ImageButton) findViewById(R.id.btn_home);
btn_home.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_home:
break;
}
}
}
ArticleSelectedListener:
public interface ArticleSelectedListener {
public void onArticleSelected(final int position, final String content);
}
MainActivity.java:
public class MainActivity extends ActionBarActivity implements OnTabChangeListener,ArticleSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void onArticleSelected(int position, String content)
{
if(position==0)
{
action_bar_hometext.setText(content);
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
HomeFirstFragment newFragment = new HomeFirstFragment();
ft.replace(R.id.realtabcontent, newFragment);
ft.addToBackStack(null);
ft.commit();
}
}
我不知道如何在單擊按鈕時從另一個活動中調用接口方法。任何人都可以幫助我。謝謝。
在您的MainActivity中,如下創建一個公共方法...
public void articleSelected(int position, String content)
{
if(position==0)
{
action_bar_hometext.setText(content);
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
HomeFirstFragment newFragment = new HomeFirstFragment();
ft.replace(R.id.realtabcontent, newFragment);
ft.addToBackStack(null);
ft.commit();
}
}
然后在Main活動中,用以下代碼替換所選的OnArticle中的代碼:
articleSelected(position,content);
然后使用相同的方法從GridActivity調用...
MainActivity main= new MainActivity();
main.articleSelected(0,"Home");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.