사용자 지정 목록 어댑터를 사용하여 모든 연락처 목록을 표시하고 사용자는 확인란을 클릭하여 연락처를 선택합니다. 선택한 연락처를 환경 설정에 저장하여 다른 곳에서 테스트 할 수있는 좋은 방법은 무엇입니까? SharedPreferences를 사용하려고 생각했지만 지금까지 SharedPrefs에 배열을 저장하는 방법을 찾을 수 없었습니다. 내가 sqlite 경로를 갈 수 있지만, 그들은 이미 DB에 포함되어 고려하고 조금 과한 것, 그리고 왜 내가 거기에 그들을 참조하지 않을 수 있습니다. 그냥 어떻게 시작 할지도 모르겠다. ... 또한이 메소드를 onDestroy라고도 부르려고했는데, 그 역시 몇 가지 문제가있을 수 있으므로 그에 대한 권장 사항도 도움이 될 수있다. 여기에 몇 가지 코드가 있습니다. (더 많은 정보가 필요하면 알려주세요. 항상 더 많이 있습니다) 당신의 최고의 지식에 감사드립니다.ListActivity에서 선택한 연락처를 저장할 위치는 어디입니까?
ListItemLayout.xml :
<?xml version="1.0" encoding="utf-8"?>
<TwoLineListItem
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<RelativeLayout
android:id="@+id/relativelayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@android:id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
android:textStyle="bold" />
<TextView
android:id="@android:id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@android:id/text1"
android:includeFontPadding="false"
android:paddingBottom="4dip"
android:textSize="15sp"
android:textStyle="normal" />
<CheckBox
android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:focusable="false"
/>
</RelativeLayout>
</TwoLineListItem>
ContactPicker 활동 (간결성을 위하여 편집 됨 일부 코드) :
public class ContactPicker extends ListActivity implements Runnable{
private List<Contact> contacts = null;
private Contact con;
private ContactArrayAdapter cAdapter;
private ProgressDialog prog = null;
private Context thisContext = this;
private CheckBox c1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
prog = ProgressDialog.show(this, "Contact List", "Getting Contacts", true, false);
Thread thread = new Thread(this);
thread.start();
final CheckBox c1 = (CheckBox)findViewById(R.id.checkbox);
}
public void run() {...
}
private List<Contact> fillContactsList() {...
}
private Handler handler = new Handler() {...
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
TextView label = ((TwoLineListItem) v).getText2();
String phoneNumber = label.getText().toString();
}
}