2017-12-13 4 views
1

Dies ist eine der CardViews in meiner GridView und ich möchte sie mit meiner anderen Aktivität verknüpfen, aber jedes Mal, wenn ich Fehler erhalte (onClickListener wird rot und funktioniert nicht) oder App stürzt ab .. .ImageView oder CardView Öffnen einer anderen Aktivität onClick

Diese CardViews (ich habe meine Floating-Taste, um eine andere Tätigkeit bereits verbunden sind), die Gonna verwenden als Schaltflächen https://i.gyazo.com/581787f5fcba5355c9265a7b75a8f663.png

XML IM:

 <android.support.v7.widget.CardView 
      android:id="@+id/rowOneColOne" 
      android:layout_width="0dp" 
      android:layout_height="0dp" 
      android:layout_columnWeight="1" 
      android:layout_marginBottom="16dp" 
      android:layout_marginLeft="16dp" 
      android:layout_marginRight="16dp" 
      android:layout_rowWeight="1" 
      app:cardBackgroundColor="@color/gridBg" 
      app:cardCornerRadius="8dp" 
      app:cardElevation="8dp"> 


      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:layout_gravity="center_horizontal|center_vertical" 
       android:layout_margin="16dp" 
       android:orientation="vertical"> 

       <ImageView 
        android:id="@+id/imageView1" 
        android:layout_width="match_parent" 
        android:clickable="true" 
        android:layout_height="match_parent" 
        android:layout_gravity="center_horizontal" 
        android:src="@drawable/everythingaboutme" 
        /> 

      </LinearLayout> 


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

JAVA:

public class Home extends AppCompatActivity { 

private static ImageView imgview; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_home); 



    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    fab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      { 
       Intent website = new Intent(Home.this , website.class); 
       startActivity(website); 

      } 


     } 
    }); 
} 

public void OnclickButtonListener() { 

    imgview = findViewById(R.id.imageView1); 

    imgview.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent Portfolio = new Intent(Home.this,Portfolio.class); 
      startActivity(Portfolio); 
     } 
    }); 
} 
+0

Sie müssen Ihren Beitrag mit den Fehlern bearbeiten/stacktrace – codeMagic

+0

@codeMagic ich muss nur wissen, wie ich diese Kartenansicht mit einer anderen Aktivität verknüpfen kann, ohne die App zu stürzen:/ –

+1

Und wir müssen nur wissen, warum es abstürzt, um zu helfen Sie herausfinden, was Sie falsch gemacht und um zu verstehen, warum es – codeMagic

Antwort

1

Buddy tun Sie erkennen, dass Sie von Imageview platziert haben verbindlich und seine entsprechende OnClickListener innerhalb der Funktion OnClickButton Listenereinstellung die außerhalb des onCreate Methode. Sie haben die Funktion OnClickButtonListener(); innerhalb von onCreate Methode Ihrer Klasse, um die Bindung und Einstellung clicklistener auf diesem Imageview tatsächlich zu registrieren.

+0

könntest du bitte mehr erklären ... ich habe nicht wirklich verstanden, was du meinst caz ich bin nur ein Anfänger –

+0

sicher Kumpel. Alle Funktionen, die Sie verwenden möchten, werden hauptsächlich von der onCreate-Methode Ihrer Java-Klasse aufgerufen. Nachdem Sie Ihre OnClickButtonListener() - Funktion erstellt haben, müssen Sie diese Funktion auch in der onCreate-Methode aufrufen. Schreiben Sie einfach die Zeile "OnClickButtonListener();" innerhalb der onCreate (Bundle savedInstanceState) -Methode Ihrer Java-Klasse und die Funktion würde wie beabsichtigt aufgerufen. – Robillo

Verwandte Themen