【发布时间】:2022-01-21 19:24:36
【问题描述】:
我正在 Android Studio 中创建一个简单的短信应用程序,但每当我尝试通过定义 getContactList() 函数从用户手机中获取联系人列表时,lint 会显示一个错误,即范围值应大于一。为什么会来?我检查了许多来源,并且编写了与他们编写的完全相同的代码。这是确切的代码:
package com.example.safechat;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.widget.LinearLayout;
import java.util.ArrayList;
public class FindUserActivity extends AppCompatActivity {
private RecyclerView.Adapter mUserListAdapter;
ArrayList<UserObject> userList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_find_user);
userList = new ArrayList<>();
initializeRecyclerView();
}
private void getContactList() {
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
while(phones.moveToNext()) {
String name = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); //Value should be >= 1
String phone = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); //Value should be >= 1
UserObject mContact = new UserObject(name, phone);
userList.add(mContact);
mUserListAdapter.notifyDataSetChanged();
}
}
private void initializeRecyclerView() {
RecyclerView mUserList = findViewById(R.id.userList);
mUserList.setNestedScrollingEnabled(false);
mUserList.setHasFixedSize(false);
RecyclerView.LayoutManager mUserListLayoutManager = new LinearLayoutManager(getApplicationContext(), LinearLayoutManager.VERTICAL, false);
mUserList.setLayoutManager(mUserListLayoutManager);
mUserListAdapter = new UserListAdapter(userList);
mUserList.setAdapter(mUserListAdapter);
}
}
lint 不清楚我该怎么做,如果你能帮忙,那就是你的好意。
【问题讨论】: