的onClick从MainActivity调用接口方法 [英] onClick to call interface method from 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屋!