带按钮的CardView,不使用RecyclerView-Android
我试图使用CardView作为菜单的容器;卡片上填充了按钮。是否可以在不使用RecyclerView的情况下在每个按钮上实现单击侦听器带按钮的CardView,不使用RecyclerView-Android,android,android-studio,Android,Android Studio,我试图使用CardView作为菜单的容器;卡片上填充了按钮。是否可以在不使用RecyclerView的情况下在每个按钮上实现单击侦听器 在创建期间、添加到CardView之前和添加到CardView之后,在按钮上应用单击侦听器不起作用。只有卡本身保持可单击状态在本例中,在cardview上添加了两个按钮,其中每个视图都有单独的单击侦听器。你可以试试这个- public class MainActivity extends AppCompatActivity implements View.OnC
在创建期间、添加到CardView之前和添加到CardView之后,在按钮上应用单击侦听器不起作用。只有卡本身保持可单击状态在本例中,在cardview上添加了两个按钮,其中每个视图都有单独的单击侦听器。你可以试试这个-
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private String TAG = "MainActivity";
Button btn_first, btn_second;
CardView cardView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cardView = (CardView) findViewById(R.id.cardview);
cardView.setOnClickListener(this);
btn_first = (Button)findViewById(R.id.btn_first);
btn_second = (Button)findViewById(R.id.btn_second);
btn_first.setOnClickListener(this);
btn_second.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_first:
Toast.makeText(this, "First Button", Toast.LENGTH_SHORT).show();
break;
case R.id.btn_second:
Toast.makeText(this, "Second Button", Toast.LENGTH_SHORT).show();
break;
case R.id.cardview:
Toast.makeText(this, "CardView", Toast.LENGTH_SHORT).show();
break;
}
}
}
在本例中,在cardview上添加了两个按钮,其中每个视图都有单独的click listener。你可以试试这个-
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private String TAG = "MainActivity";
Button btn_first, btn_second;
CardView cardView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cardView = (CardView) findViewById(R.id.cardview);
cardView.setOnClickListener(this);
btn_first = (Button)findViewById(R.id.btn_first);
btn_second = (Button)findViewById(R.id.btn_second);
btn_first.setOnClickListener(this);
btn_second.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_first:
Toast.makeText(this, "First Button", Toast.LENGTH_SHORT).show();
break;
case R.id.btn_second:
Toast.makeText(this, "Second Button", Toast.LENGTH_SHORT).show();
break;
case R.id.cardview:
Toast.makeText(this, "CardView", Toast.LENGTH_SHORT).show();
break;
}
}
}
输入一些代码以便我们提供帮助是的,您可以使用cardview作为菜单项,但您应该使用布局而不是菜单。您需要为它们实现单独的单击。检查后:输入一些代码以便我们提供帮助是的,您可以使用cardview作为菜单项,但您应该使用布局而不是菜单。您需要为它们实现单独的单击。检查此项后:
Button button = (Button) findViewById(R.id.button);
CardView cardView = (CardView) findViewById(R.id.card);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(SplashActivity.this, "ButtonClicked", Toast.LENGTH_SHORT).show();
}
});
cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(SplashActivity.this, "card clicked", Toast.LENGTH_SHORT).show();
}
});