최근 통화 기록을 리스트로 쭉 나타내면,
리스트뷰를 클릭하게 되면 전화가 걸리게 하는
아주 간단한 작업을 하다가 벽에 부딪혔습니다. ㅠㅠ
리스트뷰를 안드로이드에서 기본으로 제공하는
simple_list_item_2 레이아웃을 사용했습니다.
그 레이아웃의 text1에 다가 전화번호를 나타나게 했구요
text2에 날짜를 나타나게 했습니다.
그런데, 리스트뷰를 클릭했을 때 text1에 있는 전화번호를 뽑아올 방법을 찾지를 못했습니다.
onItemClickListener를 사용해서 findViewById를 사용해서, 뽑아오려고 하니깐
버전 문제인지 이번에는 getText함수가 뜨질 않네요.
getText대신, .getTextAlignment() 라는지.. .getTextDirection()라든지...
구글링해도 나오질 않는 메소드가 나오네요 ㅠㅠ;
소스가 에디터에 안 붙여져서
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public class SampleActivity extends Activity{
ListView mListView;
private static String[] mProjections = new String[] {
Data._ID, CallLog.Calls.DATE, CallLog.Calls.NUMBER };
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Cursor cursor = getContentResolver().query(
CallLog.Calls.CONTENT_URI, mProjections, null,
null, CallLog.Calls.DATE + " DESC");
startManagingCursor(cursor);
mListView = (ListView) findViewById(R.id.listView1);
ListAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_2, cursor, new String[]{
CallLog.Calls.NUMBER, CallLog.Calls.DATE},
new int[]{
android.R.id.text1, android.R.id.text2});
mListView.setAdapter(adapter);
mListView.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View clickedView, int pos,
long id) {
// TODO Auto-generated method stub
// Toast.makeText(getBaseContext(),clickedView.findViewById(android.R.id.text1).getTextDirection(),Toast.LENGTH_LONG).show(); --getText메소드가 안떠요
//Toast.makeText(context(), clickedView.findViewById(android.R.id.text1).toString(), Toast.LENGTH_LONG).show(); 이렇게 시도해도 안 되네요
String num = "tel:"+clickedView.findViewById(android.R.id.text1).toString();
Intent in = new Intent(Intent.ACTION_DIAL,Uri.parse(num));
startActivity(in);
}
}
);
1) 이 클릭된 리스트뷰의 이 전화번호를 어떻게 추출할 수 있을까요?
2) getText가 왜 안 나오는 걸까요?
.getTextAlignment() 라는지.. .getTextDirection()는 어떤 메소드인가요?
3) 그리고 text2에는 통화 날짜를 삽입했는데, 날짜가 아니라 이상한 숫자가 뜨네요. 어떻게 하면 날짜로 고칠 수 있을까요...?
3)번은 안 되더라도 1)번만이라도..
고수님들의 많은 도움 부탁드립니다. (꾸벅)