我有 3 项活动和 1 节课;
MobilEpostaActivity(主活动)将来自 Gmail 服务器意图的数据提供给ListeleActivity(填充并显示 ListView),ListeleActivity 将这些数据填充到 ListView,当项目 onClick ListView 时,项目的点击数据意图传递给GoruntuleActivity(显示onclick 项目的信息)。而且我还有一个类“ Baglantı ”(表示连接),它具有每个所需的所有其他方法。
我的问题在这里:当用户单击“删除”按钮时。我想刷新列表视图并向用户显示下一封邮件。当用户单击删除按钮时,我可以向用户显示下一封邮件并在该位置添加 1 并显示它。但它不能正常工作,因为它的附件很复杂。
现在从 MobilEpostaActivity 开始;我从用户那里获取用户名和密码,并将它们传递给 Baglantı 类以连接到服务器。然后我得到了结果体,来自数组列表中的主题。然后,我有意地传递这些主体,并受制于 ListeleActivity。
public void epostaListeleme() throws MessagingException, IOException
{
final Intent intent = new Intent(this, ListeleActivity.class);
intent.putStringArrayListExtra(bodylistesi ,(ArrayList<String>) getBodyList());
intent.putStringArrayListExtra(konulistesi ,(ArrayList<String>) getKonuList());
intent.putStringArrayListExtra(kimdenlistesi ,(ArrayList<String>) getKimdenList());
startActivity(intent);
}
在 ListeleActivity() 中:
使用 Bundle 从 MobilEpostaActivity 获取数据。用“来自”数据填充列表视图。并等待 listItemOnClick。如果发生 Onclick 操作,则将数据传递给 GoruntuleActivity。**
在 GoruntuleActivity() 中:
使用 Bundle 从 ListeleActivity 获取数据。并且(这里是重要部分)等待删除按钮 OnClick。如果首先发生 Onclick 操作)从 ListView 中删除该位置。
arrayAdapter.remove(arrayAdapter.getItem(position));
listBaglanti.RefreshedPositions(position);
arrayAdapter.notifyDataSetChanged();
SECOND) 从 bodylist 、 fromlist 和 subjectlist 中删除职位数据:
public void RefreshedPositions(int position)
{
list.remove(list.get(position));
kimdenlist.remove(kimdenlist.get(position));
konulist.remove(konulist.get(position));
}
第三)将这些“更改”列表保存在数组列表中:
bodylistRefresh = baglan.list;
kimdenlisteRefresh = baglan.kimdenlist;
konulisteRefresh = baglan.konulist;
第四)将这些“更改”列表设置为 MobilEpostaActivity 的意图(ListeleAcitivity 的意图之一):
MobilEpostaActivity mobilObject = new MobilEpostaActivity();
mobilObject.setKonuList(konulisteRefresh);
mobilObject.setKimdenList(kimdenlisteRefresh);
mobilObject.setBodyList(bodylistRefresh);
正如您认为的那样,该过程应该重新开始。但它并没有开始,因为第四步,我不认为我对 ListView 进行了刷新。
也许我走了一条很难的路。但我希望,你告诉我刷新列表视图并显示下一封邮件的正确方法。还有我的截图;
当我第一次打开应用程序时:有 3 封来自 Merve 的邮件。职位:0,1,2*
单击删除按钮后:刷新 ListView 并删除 position=1 的项目。但它不会在 GoruntuleActivity 的屏幕上被删除。