Cardview onclick 打开一个新的 activity
Cardview onclick opens a new activity
点击卡片打开 activity 然后点击另一张卡片打开另一个 activity 等等。有没有办法只创建一个 activity 并识别所点击卡片的 ID 并显示其相应数据??
您可以使用 Intent.putExtra
发送 ID,然后在您的 activity 中使用 Intent.getIntExtra
获取它,并在 activity
中提供您的数据
这是一个示例,如果您使用 ListView
:
,则将 id 和索引发送到 MyActtivity
AdapterView.OnItemClickListener onItemClickListener = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(getApplicationContext(),MyActivity.class);
intent.putExtra("id",view.getId());
intent.putExtra("index",position);
startActivity(intent);
}
};
您可以像这样在 MyActivity 中检索它:
Intent intent = new Intent(getIntent());
int id = intent.getIntExtra("id",0);
int index = intent.getIntExtra("index",0);
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
}
public void card(View view) {
Intent intent = new Intent(FirstActivity.this, ActivitymainActivity.class);
startActivity(intent);
}
}
点击卡片打开 activity 然后点击另一张卡片打开另一个 activity 等等。有没有办法只创建一个 activity 并识别所点击卡片的 ID 并显示其相应数据??
您可以使用 Intent.putExtra
发送 ID,然后在您的 activity 中使用 Intent.getIntExtra
获取它,并在 activity
这是一个示例,如果您使用 ListView
:
AdapterView.OnItemClickListener onItemClickListener = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(getApplicationContext(),MyActivity.class);
intent.putExtra("id",view.getId());
intent.putExtra("index",position);
startActivity(intent);
}
};
您可以像这样在 MyActivity 中检索它:
Intent intent = new Intent(getIntent());
int id = intent.getIntExtra("id",0);
int index = intent.getIntExtra("index",0);
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
}
public void card(View view) {
Intent intent = new Intent(FirstActivity.this, ActivitymainActivity.class);
startActivity(intent);
}
}