2017-08-03 4 views
0

zu initialisieren Wie Kind GridLayout zu initialisieren und setzen onClickListener auf dem mehrere ImageView vorliegenden Elemente in GridLayout auf eine andere Tätigkeit gehenWie Kind Ansichten für Grid

Hier ist mein Java-Code:

public class ResidentialActivity extends Activity { 
    GridView grid; 
    ImageView img1; 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_residential); 
     GridLayout grid= (GridLayout) findViewById(R.id.grid); 
    } 
} 
+0

Diese Frage eine Reihe von Rollbacks guter Änderungen hat, die ein Verhalten, das auf Stack-Überlauf zu Vandalismus sein verwandt betrachtet wird. Wenn jemand Code-Formatierungs-Verbesserungen zu Code-Elementen oder anderen guten Änderungen hinzufügt, lassen Sie sie bitte. – halfer

Antwort

0

Diese funktioniert bei mir. Ich füge Zellen zu einem GridLayout hinzu und verknüpfe jeweils OnClick-Listener.

Wenn Sie Ihr GridLayout bereits gefüllt haben, könnten Sie GridLayout.getChildCount() und GridLayout.getChildAt(i) verwenden, um jede Zelle zu bearbeiten, um einen OnClick-Listener hinzuzufügen.

Sie müssen zuerst Ihre ResidentialActivity View.OnClickListener implementieren, wie folgt aus:

public class ResidentialActivity extends AppCompatActivity implements View.OnClickListener { 

und überschreiben Sie die OnClick() -Methode wie:

@Override 
protected void onClick(final View view) { 
. . . launch your other activity in here 
} 

Um die onClick Haken Sie laufen kann durch die Zellen (Sie könnten GridLayout.getChildCount() verwenden):

, wo das ist meine xml Layout-Datei für picture_cell

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/rl_cell" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"> 
    <ImageView 
     android:id="@+id/iv_cell_image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="fill" 
     android:background="@android:color/background_dark" 
     android:minHeight="20dp" 
     android:minWidth="20dp" 
     android:padding="1dp" /> 
</RelativeLayout> 
Verwandte Themen