Java 如何从image view onclicklistener调用其他片段

Java 如何从image view onclicklistener调用其他片段,java,android,android-fragments,onclicklistener,Java,Android,Android Fragments,Onclicklistener,我想从图像视图调用类FragmentDiagnosis单击listener。我很困惑如何从click listener调用另一个类?我试过使用意图,但有错误。对于任何了解这个问题的人,请帮助我。我会很感激的,非常感谢 package com.pakarayam; import android.app.Fragment; public class FragmentHome extends Fragment { @Override public View onCreateView(LayoutIn

我想从图像视图调用类FragmentDiagnosis单击listener。我很困惑如何从click listener调用另一个类?我试过使用意图,但有错误。对于任何了解这个问题的人,请帮助我。我会很感激的,非常感谢

package com.pakarayam;
import android.app.Fragment;

public class FragmentHome extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater
            .inflate(R.layout.activity_fragment_home, container, false);
    configureImageView(view);
    return view;
}
private void configureImageView(View view) {
// TODO Auto-generated method stub
ImageView mulai = (ImageView) view.findViewById(R.id.mulai);
mulai.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        Intent iMulai = new Intent(getApplicationContext(), FragmentDiagnosis.class);
        startActivity(iMulai);
}});
}}
试试这个:

public void onClick(视图v)
{
FragmentManager FragmentManager=getFragmentManager();
FragmentTransaction FragmentTransaction=fragmentManager.beginTransaction();
YourFragment YourFragment=新建YourFragment();
fragmentTransaction.add(R.id.your_activity_id,yourFragment,“FRAGMENT”);
fragmentTransaction.commit();
}

请阅读有关片段的基本知识,而不是使用
startActivity
和容器中的新片段,就像您在活动中添加
FragmentHome
片段
startActivity
不是用于显示
fragment
的调用,它用于从活动切换。使用
fragmentmanager
fragmentTransaction
来显示您的片段@ρцσѕρєK此代码不起作用。。我现在该怎么办?public void onClick(视图v){FragmentManager fm=getFragmentManager();FragmentTransaction ft=fm.beginTransaction();ft.replace(R.layout.activity_fragment_diagnosis,new FragmentDiagnosis(),“FragmentDiagnosis”);ft.commit();}}@普贾普特里:是的,你有什么问题吗?@sideshowbarker这对我来说很有效,但是为什么当我点击“诊断片段”按钮时,“家庭片段”仍然出现。所以这个班掩盖了另一个班。还有什么解决办法吗?@PujaPutri这个答案是由mehrdad khosravi发布的。我只是想让代码以预期的格式显示。这对我来说很有效,但为什么当我点击“诊断片段”按钮时“主片段”仍然出现。所以这个班掩盖了另一个班。还有什么解决办法吗@梅尔达德霍斯拉维
 @SuppressLint("NewApi")
    public void addFragment(Fragment fragment, Bundle bundle) {
        try {
            if (bundle != null) {
                fragment.setArguments(bundle);
            }
            FragmentManager fragmentManager = getSupportFragmentManager();
            fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.setCustomAnimations(R.anim.slide_left,
                    R.anim.slide_right, R.anim.slide_left, R.anim.slide_right);
            fragmentTransaction.add(R.id.frame1, fragment).addToBackStack(null)
                    .commit();

        } catch (Exception e) {
            Log.e("MenuChangeActivity", "Add fragment error");
        }
    }