的onClick从MainActivity调用接口方法 [英] onClick to call interface method from MainActivity

查看:518
本文介绍了的onClick从MainActivity调用接口方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要执行的onClick调用另一个class.I的onItemSelected监听器方法不知道如何调用该方法在图像按钮的onClick listener.So,它会移动到HomeFirstFragment类。

ItmeSelectedListener

 公共接口ItemSelectedListener {    公共无效onItemSelected(最终诠释的位置,最终字符串的内容);
}

LayoutActivity.java:

 公共类LayoutActivity扩展活动实现OnClickListener {的ImageButton btn_click;  @覆盖
    公共无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_grid3);        btn_click =(的ImageButton)findViewById(R.id.btn_click);   }
    @覆盖
    公共无效的onClick(视图v){        开关(v.getId()){            案例R.id.btn_click:
             打破;
        }
    }}

MainActivity.java:

 公共类MainActivity扩展ActionBarActivity实现OnTabChangeListener,ItemSelectedListener { 私人TextView的action_bar_hometext;
 @覆盖
    保护无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_main);} @覆盖
    公共无效onItemSelected(INT位置,字符串的内容)
    {        如果(位置== 0)
        {
            action_bar_hometext.setText(内容);
            FragmentManager经理= getSupportFragmentManager();
            FragmentTransaction英尺= manager.beginTransaction();
            HomeFirstFragment newFragment =新HomeFirstFragment();
            ft.replace(R.id.realtabcontent,newFragment);
            ft.addToBackStack(NULL);
            ft.commit();
        }
     }

如果我点击LayoutActivity类btn_click,我需要执行的onClick从MainActivity调用接口的方法。

任何人都可以帮我this.Thank你。<​​/ P>

解决方案

您可以创建自己的监听器,并添加要在自己的监听器上单击执行code块。

创建我们的界面像

 接口myListener的{
公共无效myClickListener(字符串内容);
}

现在实现这个你MainActivity

 公共类MainActivity扩展ActionBarActivity实现OnTabChangeListener,ItemSelectedListener,myListener的{
公共无效myClickListener(字符串内容){
action_bar_hometext.setText(内容);
FragmentManager经理= getSupportFragmentManager();
FragmentTransaction英尺= manager.beginTransaction();
HomeFirstFragment newFragment =新HomeFirstFragment();
ft.replace(R.id.realtabcontent,newFragment);
ft.addToBackStack(NULL);
ft.commit();
}

I need to perform onClick to call the onItemSelected listener method of another class.I don't know how to call that method in Image button onClick listener.So that it will move to HomeFirstFragment Class.

ItmeSelectedListener

public interface ItemSelectedListener {

    public void onItemSelected(final int position, final String content);
}

LayoutActivity.java:

public class LayoutActivity extends Activity implements OnClickListener {

ImageButton btn_click;

  @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_grid3);

        btn_click = (ImageButton) findViewById(R.id.btn_click);

   }
    @Override
    public void onClick(View v) {

        switch (v.getId()) {

            case R.id.btn_click:


             break;
        }
    }

}

MainActivity.java:

public class MainActivity extends ActionBarActivity implements OnTabChangeListener,ItemSelectedListener {

 private TextView action_bar_hometext;


 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

}

 @Override
    public void onItemSelected(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();
        }
     }

If I click the btn_click in LayoutActivity class,I need to perform onClick to call interface method from MainActivity.

Anyone can help me with this.Thank you.

解决方案

you can create your own listener and add the block of code that you want to execute on click in your own listener.

Create your our Interface like

Interface MyListener{
public void myClickListener(String content);
}

Now implement this in your MainActivity

public class MainActivity extends ActionBarActivity implements OnTabChangeListener,ItemSelectedListener,MyListener {
public void myClickListener(String content){
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();
}

这篇关于的onClick从MainActivity调用接口方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆