[英]Call override method from another activity
I have to call interface override method from another activity using button click.In GridActivity class I have using the image button. 我必须使用按钮单击从另一个活动中调用接口重写方法。在GridActivity类中,我必须使用图像按钮。
If I click this button I need to call the other activity interface override method. 如果单击此按钮,则需要调用其他活动接口重写方法。
GridActivity3.java: 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: ArticleSelectedListener:
public interface ArticleSelectedListener {
public void onArticleSelected(final int position, final String content);
}
MainActivity.java: 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();
}
}
I don't know how to call the interface method from another activity on button click.Anyone can help me with this.Thank You. 我不知道如何在单击按钮时从另一个活动中调用接口方法。任何人都可以帮助我。谢谢。
In your MainActivity, create a public method as follows... 在您的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();
}
}
Then in the Main activity, replace the code inside OnArticle selected with the following... 然后在Main活动中,用以下代码替换所选的OnArticle中的代码:
articleSelected(position,content);
Then use the same method to call from GridActivity... 然后使用相同的方法从GridActivity调用...
MainActivity main= new MainActivity();
main.articleSelected(0,"Home");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.