java - onClick 从MainActivity 调用接口(interface)方法

标签 java android interface

我需要执行onClick来调用另一个类的onItemSelected监听器方法。我不知道如何在Image按钮onClick监听器中调用该方法。所以它会移动到HomeFirstFragment类。

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();
        }
     }

如果我点击LayoutActivity类中的btn_click,我需要执行onClick来调用MainActivity的接口(interface)方法。

任何人都可以帮我解决这个问题。谢谢。

最佳答案

您可以创建自己的监听器并在您自己的监听器中添加要在点击时执行的代码块。

像这样创建你的界面

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

现在在您的 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();
    }
}

关于java - onClick 从MainActivity 调用接口(interface)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31602233/

相关文章:

java - 执行 OneToMany 连接时出现 Hibernate 错误 : hibernate. MappingException

java - 如何以编程方式调用 infinispan 缓存加载器

java - 如何从另一个类引用一个类中的方法(更多详细信息)

java - 使用 AsyncTask 进行 android 网络连接

java - 扩展 AsyncTask 而不覆盖其参数

android - Kotlin 协程 `runBlocking`

ANDROID:错误膨胀类 android.support.design.widget.AppBarLayout

c# - `System.Type` 如何成为具有约束的通用参数?

c# - 在 C# 中,您可以在 "where"接口(interface)约束中放置一个 Or 吗?

java - 为什么我不能实现多个接口(interface)?