我需要执行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/