ImageView或CardView在onClick上打开另一个活动

时间:2017-12-13 20:42:25

标签: android onclick imageview onclicklistener

这是我的gridView中的一个CardView,我想将它链接到我的其他活动,但每次我收到错误(onClickListener变红并且不起作用)或应用程序崩溃...

(我已将浮动按钮链接到另一个活动)

我将使用这些CardView作为按钮 https://i.gyazo.com/581787f5fcba5355c9265a7b75a8f663.png

XML:

      <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);
        }
    });
}

1 个答案:

答案 0 :(得分:1)

Buddy你是否意识到你已经将imageview及其相应的onclicklistener设置绑定在OnCreate方法之外的OnClickButton侦听器中。 您已在类的 onCreate 方法中调用函数 OnClickButtonListener(); ,以实际注册绑定并在该imageview上设置clicklistener。