Android 如何从具有Recyclerview和Cardview的活动导航到另一个活动

Android 如何从具有Recyclerview和Cardview的活动导航到另一个活动,android,android-studio,android-layout,android-intent,Android,Android Studio,Android Layout,Android Intent,我想在android studio中使用gridmenu制作一个应用程序。我已经做了一个设计,但是我不能用它来做一个有意图的活动。如何根据以下代码从Recyclerview和cardview中创建意图活动: playlayadapter.java: playlipfragment.java: fragment_playlist.xml: 播放列表布局 有人能帮我吗?? 多谢各位 适配器添加一个侦听器,片段实现这个侦听器 public class PlaylistFragment extends

我想在android studio中使用gridmenu制作一个应用程序。我已经做了一个设计,但是我不能用它来做一个有意图的活动。如何根据以下代码从Recyclerview和cardview中创建意图活动:

playlayadapter.java:

playlipfragment.java:

fragment_playlist.xml:

播放列表布局

有人能帮我吗?? 多谢各位

适配器添加一个侦听器,片段实现这个侦听器

public class PlaylistFragment extends Fragment implements PlaylistAdapter.OnItemClickListener {

    public PlaylistFragment() {

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_playlist, container, false);

        RecyclerView playlisRecyclerView = (RecyclerView)view.findViewById(R.id.your_play_list);
        GridLayoutManager gridLayout = new GridLayoutManager(getActivity(), 2);
        playlisRecyclerView.setLayoutManager(gridLayout);
        playlisRecyclerView.setHasFixedSize(true);

        PlaylistAdapter mAdapter = new PlaylistAdapter(getActivity(), getTestData());

        // Set the click listener
        mAdapter.setOnItemClickListener(this);

        playlisRecyclerView.setAdapter(mAdapter);

        return view;
    }

    public List<PlaylistObject> getTestData() {
        List<PlaylistObject> trackList = new ArrayList<PlaylistObject>();
        trackList.add(new PlaylistObject("My Account", "12 tracks", R.drawable.prf1));
        trackList.add(new PlaylistObject("My Teacher", "12 tracks", R.drawable.teacher));
        trackList.add(new PlaylistObject("Falling over", "12 tracks", R.drawable.album2));
        trackList.add(new PlaylistObject("Falling over", "12 tracks", R.drawable.album2));
    }

    @Override
    public void onItemClick() {
        // Do what you want do
        //startActivity(new Intent(getActivity(), XXXXActivity.class));
    }
}

这个卡德维尤在哪里。?请显示您的布局我很抱歉,这是我的布局,所以您想在单击recyclerview中的任何项目时导航到另一个活动,对吗?是的,先生,我想导航到另一个或新的活动我想这个问题已结束,因为您的问题不清楚。请再问一次。我会回答的。答案很简单,使用相同的意图,但只需传递上下文即可开始活动。选中此复选框,如果您想了解更多详细信息,请再次提问
public class PlaylistFragment extends Fragment {

    public PlaylistFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_playlist, container, false);

        RecyclerView playlisRecyclerView = (RecyclerView)view.findViewById(R.id.your_play_list);
        GridLayoutManager gridLayout = new GridLayoutManager(getActivity(), 2);
        playlisRecyclerView.setLayoutManager(gridLayout);
        playlisRecyclerView.setHasFixedSize(true);

        PlaylistAdapter mAdapter = new PlaylistAdapter(getActivity(), getTestData());
        playlisRecyclerView.setAdapter(mAdapter);

        return view;
    }

    public List<PlaylistObject> getTestData() {
        List<PlaylistObject> trackList = new ArrayList<PlaylistObject>();
        trackList.add(new PlaylistObject("My Account", "12 tracks", R.drawable.prf1));
        trackList.add(new PlaylistObject("My Teacher", "12 tracks", R.drawable.teacher));
        trackList.add(new PlaylistObject("Falling over", "12 tracks", R.drawable.album2));
        trackList.add(new PlaylistObject("Falling over", "12 tracks", R.drawable.album2));
    }
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.inducesmile.androidmusicplayer
                  .fragment.PlaylistFragment">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/your_play_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="@dimen/_10sdp"
        android:scrollbars="none" />

</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/item_list"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_marginBottom="@dimen/_8sdp"
    android:paddingLeft="@dimen/_4sdp"
    android:paddingRight="@dimen/_4sdp"

    android:orientation="vertical">

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:cardUseCompatPadding="true">


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <ImageView
                android:id="@+id/play_list_cover"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:adjustViewBounds="true"
                android:padding="20dp"
                android:src="@drawable/prf1"
                android:contentDescription="@string/app_name"/>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/colorPrimaryDark"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/play_list_name"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_margin="5dp"
                    android:text="@string/profile"
                    android:textColor="@color/colorWhite"/>

            </LinearLayout>
        </LinearLayout>

    </android.support.v7.widget.CardView>

</LinearLayout>
public class PlaylistAdapter extends RecyclerView.Adapter<PlaylistViewHolder> {

    private static final String TAG = PlaylistAdapter.class.getSimpleName();

    private Context context;
    private List<PlaylistObject> playlists;

    private OnItemClickListener mOnItemClickListener;

    public PlaylistAdapter(Context context, List<PlaylistObject> playlists) {
        this.context = context;
        this.playlists = playlists;
    }

    // Set the click listener
    public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
        mOnItemClickListener = onItemClickListener;
    }

    @Override
    public PlaylistViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.play_list_layout, parent, false);
        return new PlaylistViewHolder(view);
    }

    @Override
    public void onBindViewHolder(PlaylistViewHolder holder, int position) {
        PlaylistObject playlistObject = playlists.get(position);
        holder.playlistTitle.setText(playlistObject.getPlaylistTitle());
        holder.playlistCover.setImageResource(playlistObject.getPlaylistCover());

        // Whole item
        holder.itemView.setOnClickListener(new View.OnClickListener {
            @Override
            public void onClick(View v) {
                if(mOnItemClickListener != null) {
                    mOnItemClickListener.onItemClick();
                }    
            }
        });

        // Or Title
        holder.playlistTitle.setOnClickListener(new View.OnClickListener {
            @Override
            public void onClick(View v) {
                if(mOnItemClickListener != null) {
                     mOnItemClickListener.onItemClick();
                }    
            }
        });

        // Or Cover
        holder.playlistCover.setOnClickListener(new View.OnClickListener {
            @Override
            public void onClick(View v) {
                if(mOnItemClickListener != null) {
                    mOnItemClickListener.onItemClick();
                }    
            }
        });
    }

    @Override
    public int getItemCount() {
        return playlists.size();
    }

    // The Item click listener
    public interface OnItemClickListener {

        void onItemClick();
    }
}
public class PlaylistFragment extends Fragment implements PlaylistAdapter.OnItemClickListener {

    public PlaylistFragment() {

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_playlist, container, false);

        RecyclerView playlisRecyclerView = (RecyclerView)view.findViewById(R.id.your_play_list);
        GridLayoutManager gridLayout = new GridLayoutManager(getActivity(), 2);
        playlisRecyclerView.setLayoutManager(gridLayout);
        playlisRecyclerView.setHasFixedSize(true);

        PlaylistAdapter mAdapter = new PlaylistAdapter(getActivity(), getTestData());

        // Set the click listener
        mAdapter.setOnItemClickListener(this);

        playlisRecyclerView.setAdapter(mAdapter);

        return view;
    }

    public List<PlaylistObject> getTestData() {
        List<PlaylistObject> trackList = new ArrayList<PlaylistObject>();
        trackList.add(new PlaylistObject("My Account", "12 tracks", R.drawable.prf1));
        trackList.add(new PlaylistObject("My Teacher", "12 tracks", R.drawable.teacher));
        trackList.add(new PlaylistObject("Falling over", "12 tracks", R.drawable.album2));
        trackList.add(new PlaylistObject("Falling over", "12 tracks", R.drawable.album2));
    }

    @Override
    public void onItemClick() {
        // Do what you want do
        //startActivity(new Intent(getActivity(), XXXXActivity.class));
    }
}