如何在Android中单击ImageView时从一个片段移动到另一个片段?

use*_*145 17 android fragment android-fragments

我有一个ImageView.我希望在点击Imageview时从一个片段移动到另一个片段,就像我们可以从一个活动移动到另一个活动一样

Intent i=new Intent(MainActivity.this,SecondActivity.class);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?任何人都可以一步一步向我解释吗?

我的代码如下:

mycontacts.class

public class mycontacts extends Fragment {
    public mycontacts() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
        final View v = super.getView(position, convertView, parent);
        ImageView purple=(ImageView)v.findViewById(R.id.imageView1);
        purple.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
            // TODO Auto-generated method stub
            //how to go to tasks fragment from here???
            }
        });
        return view;

    } 
}
Run Code Online (Sandbox Code Playgroud)

tasks.class

public class tasks extends Fragment {
    public tasks() { 
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.fragment_layout_one, container,
            false);

        return view;
    }
}
Run Code Online (Sandbox Code Playgroud)

GvS*_*rma 55

purple.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Fragment fragment = new tasks();
        FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.replace(R.id.content_frame, fragment);
        fragmentTransaction.addToBackStack(null);
        fragmentTransaction.commit();
    }
});
Run Code Online (Sandbox Code Playgroud)

你写上面的代码......我们用我们的片段替换R.id.content_frame.希望这能帮助你

  • 任务扩展片段...所以任务只是片段的子类,并确保你的import语句导入android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; 如果仍然是错误,则发布您的日志消息 (2认同)