Android开发中List的remove()方法

Android开发中List的remove()方法

  List集合有的remove()方法有两个:
                     1.remove( int location),这个方法是根据下标从集合中移除相应的对象。
	   	 2.remove(Object object),这个方法是根据对象从集合中移除第一次出现的这个对象。
  但是在Android的一次实际开发中,调用第二个方法根据一个对象一直无法删除相应的对象,所以只能使用遍历集合然后根据第一种方法去删除这个对象。
	
public void onMemberLeft(String s, IM800MultiUserChatRoomParticipant im800MultiUserChatRoomParticipant) {
    for (int i = 0; i <mIM800UserProfiles.size(); i++) {
        if (mIM800UserProfiles.get(i).getJID().equals(im800MultiUserChatRoomParticipant.getJID())){
            mIM800UserProfiles.remove(i);
        }
    }
}
  mIM800UserProfiles.remove(im800MultiUserChatRoomParticipant);这个不可行
  具体什么原因还是没有搞懂,希望大神指点
                       
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
以下是一个简单的日记本Android App的代码示例,包括添加、编辑、删除和展示日记的功能: 1. MainActivity.java ``` public class MainActivity extends AppCompatActivity { private ListView diaryListView; private ArrayList<Diary> diaryArrayList; private DiaryAdapter diaryAdapter; private static final int ADD_DIARY_REQUEST_CODE = 1; private static final int EDIT_DIARY_REQUEST_CODE = 2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); diaryListView = findViewById(R.id.diary_list_view); diaryArrayList = new ArrayList<>(); diaryAdapter = new DiaryAdapter(MainActivity.this, diaryArrayList); diaryListView.setAdapter(diaryAdapter); diaryListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Diary diary = diaryArrayList.get(position); Intent intent = new Intent(MainActivity.this, EditDiaryActivity.class); intent.putExtra("diary", diary); intent.putExtra("position", position); startActivityForResult(intent, EDIT_DIARY_REQUEST_CODE); } }); diaryListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { diaryArrayList.remove(position); diaryAdapter.notifyDataSetChanged(); return true; } }); FloatingActionButton fab = findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(MainActivity.this, AddDiaryActivity.class); startActivityForResult(intent, ADD_DIARY_REQUEST_CODE); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { switch (requestCode) { case ADD_DIARY_REQUEST_CODE: Diary diary = (Diary) data.getSerializableExtra("diary"); diaryArrayList.add(diary); diaryAdapter.notifyDataSetChanged(); break; case EDIT_DIARY_REQUEST_CODE: Diary diary1 = (Diary) data.getSerializableExtra("diary"); int position = data.getIntExtra("position", -1); if (position != -1) { diaryArrayList.set(position, diary1); diaryAdapter.notifyDataSetChanged(); } break; } } } } ``` 2. AddDiaryActivity.java ``` public class AddDiaryActivity extends AppCompatActivity { private EditText titleEditText; private EditText contentEditText; private Button addButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_add_diary); titleEditText = findViewById(R.id.title_edit_text); contentEditText = findViewById(R.id.content_edit_text); addButton = findViewById(R.id.add_button); addButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String title = titleEditText.getText().toString(); String content = contentEditText.getText().toString(); Diary diary = new Diary(title, content); Intent intent = new Intent(); intent.putExtra("diary", diary); setResult(RESULT_OK, intent); finish(); } }); } } ``` 3. EditDiaryActivity.java ``` public class EditDiaryActivity extends AppCompatActivity { private EditText titleEditText; private EditText contentEditText; private Button saveButton; private Diary diary; private int position; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_edit_diary); titleEditText = findViewById(R.id.title_edit_text); contentEditText = findViewById(R.id.content_edit_text); saveButton = findViewById(R.id.save_button); diary = (Diary) getIntent().getSerializableExtra("diary"); position = getIntent().getIntExtra("position", -1); if (diary != null) { titleEditText.setText(diary.getTitle()); contentEditText.setText(diary.getContent()); } saveButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String title = titleEditText.getText().toString(); String content = contentEditText.getText().toString(); diary.setTitle(title); diary.setContent(content); Intent intent = new Intent(); intent.putExtra("diary", diary); intent.putExtra("position", position); setResult(RESULT_OK, intent); finish(); } }); } } ``` 4. Diary.java ``` public class Diary implements Serializable { private String title; private String content; public Diary(String title, String content) { this.title = title; this.content = content; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } } ``` 5. DiaryAdapter.java ``` public class DiaryAdapter extends ArrayAdapter<Diary> { private Context context; private ArrayList<Diary> diaryArrayList; public DiaryAdapter(Context context, ArrayList<Diary> diaryArrayList) { super(context, 0, diaryArrayList); this.context = context; this.diaryArrayList = diaryArrayList; } @NonNull @Override public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { if (convertView == null) { convertView = LayoutInflater.from(context).inflate(R.layout.list_item_diary, parent, false); } TextView titleTextView = convertView.findViewById(R.id.title_text_view); TextView contentTextView = convertView.findViewById(R.id.content_text_view); Diary diary = diaryArrayList.get(position); titleTextView.setText(diary.getTitle()); contentTextView.setText(diary.getContent()); return convertView; } } ``` 这些代码示例提供了一个简单的日记本应用程序的实现,其包括添加、编辑、删除和展示日记的功能。你可以根据自己的需求进行修改和补充。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值