我正在创建一个闹钟应用程序,它在 MainActivity 上有一个闹钟列表,很像默认的 Android 时钟应用程序。为此,我实现了一个显示良好的 ListView。但是,我一直在尝试在 ListView 上设置一个更新按钮,以允许我通过我的 CreateAlarmActivity 更新警报的详细信息,并以此为指导:ListView 中的 Intent。我已经看过几次了,但是当我在测试过程中按下这个按钮时,没有任何反应。活动只是保持原样。
我敢肯定这可能是一件简单而愚蠢的事情(几乎总是如此),但我似乎找不到我的错误。也许我需要 AlarmAdapter 的 onClick 方法以及 MainActivity 的 onItemClick 中的某些内容?
代码:
主活动.java
public class MainActivity extends AppCompatActivity {
ListView alarmListView;
ArrayList<Alarm> alarmList = new ArrayList<Alarm>();
AlarmAdapter alarmAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
alarmListView = findViewById(R.id.alarmListView);
// Credit to Mitch Woodbright for helping with this section, and other try/catch blocks.
try
{
ArrayList<Alarm> alarm = (ArrayList<Alarm>) getIntent().getSerializableExtra("alarmList");
for(Alarm elements : alarm){
alarmList.add(elements);
}
}
catch (NullPointerException e){
//error handling code
}
alarmAdapter = new AlarmAdapter(MainActivity.this, alarmList);
alarmListView.setAdapter(alarmAdapter);
alarmAdapter.notifyDataSetChanged();
alarmListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent updateAlarmIntent = new Intent(MainActivity.this, CreateAlarmActivity.class);
updateAlarmIntent.putExtra("alarmList", alarmList);
updateAlarmIntent.putExtra("position", position);
startActivity(updateAlarmIntent);
}
});
}
牧羊人nacy
阿晨1998
相关分类