这是我的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);
}
});
}
答案 0 :(得分:1)
Buddy你是否意识到你已经将imageview及其相应的onclicklistener设置绑定在OnCreate方法之外的OnClickButton侦听器中。 您已在类的 onCreate 方法中调用函数 OnClickButtonListener(); ,以实际注册绑定并在该imageview上设置clicklistener。