Card View Click on Card Move To New Activity

后端 未结 6 1726
死守一世寂寞
死守一世寂寞 2021-02-07 03:39

I am new to Android programming and was working on a card layout. I was wondering, how do I make it clickable?

android:clickable=\"true\"
android:foreground=\"?         


        
相关标签:
6条回答
  • 2021-02-07 04:26

    If you used the implementation correctly, your code should go like this:

    card - is the card view you instantiated to display on your ui
    
    
    card.setOnClickListener(...);
    

    In your implementation of the onClickListener, you should have this:

    @Override
    public void onClick(Card c ,View v) {
        Intent intent = new Intent(MyActivity.this, NextActivity.class);
        startActivity(intent);
    }
    

    that is pretty much all you need to start a new activity from the card

    0 讨论(0)
  • 2021-02-07 04:29

    In Your Adapter java file and inside of "ViewHolder" you will find:

    public ContactViewHolder(final View v) {
        super(v);
    }
    

    Write blow Code:

    v.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            v.getContext().startActivity(new Intent(v.getContext(), YOUR_ACTIVITY_TO_START.class));
        }
    });
    
    0 讨论(0)
  • 2021-02-07 04:32

    import android.view.View;

    Intent intent = new Intent(view.getContext(),YourActivity.class); view.getContext().startActivity(intent);

    0 讨论(0)
  • 2021-02-07 04:39

    Addind onClick to the cardView did it for me:

         <android.support.v7.widget.CardView
                android:foreground="?android:attr/selectableItemBackground"
                android:clickable="true"
                android:id="@+id/bankcardId"
                android:layout_width="160dp"
                android:layout_height="190dp"
                android:layout_margin="10dp"
                android:onClick="P1_bay">
    

    Then call it in your java function as below:

        public void P1_bay(View view) {
        Toast.makeText(this, "You have clicked P1", Toast.LENGTH_LONG).show();
    }
    
    0 讨论(0)
  • 2021-02-07 04:39

    You could implement the View.OnClickListener() interface to your class and then in your onCreate() method you could write findViewById(R.id.cardview).setOnClickListener(this). You could then Override the onClick() method and do what you want to do when the user clicks the card.

    It would look like this:

    public class MainActivity extends Activity implements View.OnClickListener()
    {
         public void onCreate(Bundle savedInstanceState)
         {
           super.onCreate(savedInstanceState);
           // load the layout
           setContentView(R.layout.filters);
           // get the id of the CardView and attach an onClickListener to it
           findViewById(R.id.cardList).setOnClickListener(this)
         }
         @Override
         private void onClick(View view)
         {
            if(view.getId == R.id.cardList)
            {
             //Do something Like starting an activity
             Intent intent = new Intent(MyActivity.this, NextActivity.class);
             startActivity(intent);
            }
         }
    }
    
    0 讨论(0)
  • 2021-02-07 04:41

    You can use viewHolder class as follow

    public ViewHolder(View itemLayoutView) {
            super(itemLayoutView);
    
           itemLayoutView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v)
                {
                 //  perfoem your action here
                }
            });
        }
    
    0 讨论(0)
提交回复
热议问题