2012-01-04 4 views
1

EditText & Spinner 's를 사용하여 양식에서 데이터를 캡처하는 방법을 알아 내려고 SQLite 데이터베이스에 삽입하려고합니다. 하드 코딩 된 특성을 쓸 수 있지만 R.id.fieldName을 사용하려고하면 Integer 부울로 인해 오류가 발생합니다.EditText & Spinner 데이터를 SQLite에 삽입 하시겠습니까?

public class PetAdd extends Activity { 
DBAdapter db = new DBAdapter(this); 
private OnClickListener btnPetAddListener = new OnClickListener() { 
    @Override 
    public void onClick(View arg0) { 
     db.open(); 
     long id; 
     id = db.insertPet("name", "type", "breed", "sex", "notes"); 
     /**id = db.insertPet(R.id.petName, R.id.SpinnerPetType, R.id.petBreed, R.id.SpinnerPetGender, R.id.EditTextPetAddOptions);*/ 
     db.close(); 
    } 
}; 

나는 아직도이 모든 것들을 배우려고 노력하고있어 내 머리는 온라인 튜토리얼, 예와 구글 문서의 과다보고에서 튀김된다. 누구든지이 작업을 수행하는 방법을 보여 주거나 나에게 무슨 일이 일어나고 있는지 이해할 수있는 바니 ​​스타일 자습서로 안내하면 크게 감사하겠습니다.

답변

1

R.id.fieldName은 활동의 항목에 대한 숫자 참조입니다 (레이아웃의 일부인 경우).

refererene을 얻으려면 findViewById (R.id.fieldName)를 호출해야합니다. 또한 올바른 유형의보기 (귀하의 경우 EditText)로 캐스트 한 다음 전체에 대해 getText(). toString()을 호출해야합니다. 모두 함께 퍼팅

...

EditText myField = (EditText)findViewById(R.id.userName); //assuming you have a field named userName in your XML 

String userNameValue = myField.getText().toString(); 

아, 그리고 알맞은까지 - 투표가 도움이있을 때 그들에게 답을 표시하는 것을 잊지 마세요 ... 스택에 오신 것을 환영합니다.

+0

굉장한, 나를 위해 그것을했다. 몇 초 만에, 나는 이것을 구현할 수 있었고 나를 다시 궤도에 올려 놓을 수있었습니다. 감사! sfratini가 아래 getitem, getitemid stuff에 대해 아래에서 이야기하고있는 회 전자를 알아 내려고 시도하기 시작합니다. – higabyte

+0

당신을 가장 환영합니다. 회 전자는 좀 더 까다 롭습니다. 상호 작용하는 방법에 대한 온라인 참조 자료를 참조하십시오. 예를 들면 다음과 같습니다. http://www.java-samples.com/showtutorial.php?tutorialid=1517 –

+0

사실, 위와 같은 설정으로 작업 했으므로 Spinner (Spinner)와 EditText (EditText)를 사용했습니다. 다시 한번 감사드립니다. – higabyte

0

R.id.name을 사용하는 경우 실제로 Android에서 사용하는 내부 생성 int를 사용하고 있습니다. 회 전자에있는 원시 데이터가 필요합니다.

Spinner에서 getItem 및 getItemId를 사용하는 것이 좋습니다. SimpleAdapter를 사용하는 경우 getItemId를 사용하여 항목의 ID를 가져올 수 있습니다.

getItem의 구현은 사용자가 결정합니다. 보통 BaseAdapter를 사용하거나 Spinners, ArrayAdapter의 경우 몇 가지 편리한 메소드가 있습니다.

그리고 EditText를 사용하면 getText()를 EditText에 호출해야합니다.

관련 문제