두 개의 회 전자 (제목 및 장)가 있으며 두 개의 표 (장, 제목)가 있습니다.
주제별 회 전자에 주제 이름을 모두 추가 했으므로 주제 회람에있는 항목 선택의
기준에 모든 장 이름을 추가해야합니다. 내 질문은 내
코드가이를 수행 할 수 없기 때문에 그 방법입니다. 힌트 또는 참고 자료를 제공해주십시오.
내 샘플 코드는 다음과 같습니다. 제가 적절한 메소드를 호출 함수를 호출하여 상기하지 OnCreate첫 번째 회 전자를 기준으로 두 번째 회 전자에 항목을 추가하는 방법은 무엇입니까?
()
addItemsOnSpinner1();
addListenerOnSpinnerItemSelection();
addItemsOnSpinner2();
addListenerOnSpinner2ItemSelection();
.
private void addItemsOnSpinner1() {
try
{
final MySQLiteHelper m=new MySQLiteHelper(getBaseContext());
final List<ObjectiveWiseQuestion> LocWiseProfile= m.getAllSubject();
for (final ObjectiveWiseQuestion cn : LocWiseProfile)
{
list.add(cn.getSubjectName());
}
}
catch(Exception e)
{
e.printStackTrace();
}
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
subSpinner.setAdapter(dataAdapter);
}
private void addListenerOnSpinnerItemSelection()
{
subSpinner.setOnItemSelectedListener(new mySpinnerListener());
}
private void addItemsOnChapter()
{
try
{
db=new MySQLiteHelper(getBaseContext());
db.getWritableDatabase();
//String name=owq.getSubjectName();
int id=db.getSubjectId(name);
owq.setSubjectId(id);
long subId=owq.getSubjectId();
final MySQLiteHelper m=new MySQLiteHelper(getBaseContext());
final List<ObjectiveWiseQuestion> LocWiseProfile= m.getAllChapter(subId);
for (final ObjectiveWiseQuestion cn : LocWiseProfile)
{
list.add(cn.getChapterName());
}
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
chapSpinner.setAdapter(dataAdapter);
}
catch(Exception e)
{
e.printStackTrace();
}
}
private void addListenerOnSpinner2ItemSelection()
{
try
{
chapSpinner.setOnItemSelectedListener(new mySpinnerListener2());
}
catch(Exception e)
{
e.printStackTrace();
}
}
여기 내 리스너 클래스입니다.
class mySpinnerListener2 implements Spinner.OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView parent, View v, int position,
long id)
{
Toast.makeText(parent.getContext(), "The chapter is " +
parent.getItemAtPosition(position).toString(), Toast.LENGTH_LONG).show();
owq.setChapterName(parent.getItemAtPosition(position).toString());
}
@Override
public void onNothingSelected(AdapterView parent)
{
// Do nothing.
}
}
class mySpinnerListener implements Spinner.OnItemSelectedListener
{
@Override
public void onItemSelected(AdapterView parent, View v, int position,
long id)
{
Toast.makeText(parent.getContext(), "The subject is " +
parent.getItemAtPosition(position).toString(), Toast.LENGTH_LONG).show();
owq.setSubjectName(parent.getItemAtPosition(position).toString());
name=parent.getItemAtPosition(position).toString();
}
@Override
public void onNothingSelected(AdapterView parent)
{
// Do nothing.
}
}
컴파일 할 때 null 값이 표시됩니다. 도움을주세요. 좋은 답변을 찾을 사전에
감사합니다 ....... .....
MysqliteHelper.java
public List<ObjectiveWiseQuestion> getAllChapter(long subId)
{
List<ObjectiveWiseQuestion>LocwiseProfileList=new ArrayList<ObjectiveWiseQuestion>();
String selectQuery=("select chapterName from chapter where s_id ='"+ subId +"'");
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst())
{
do {
ObjectiveWiseQuestion owq= new ObjectiveWiseQuestion();
owq.setChapterName(cursor.getString(2));
LocwiseProfileList.add(owq);
}
while(cursor.moveToNext());
db.close();
}
return LocwiseProfileList;
}
코드에서 owq는 무엇입니까? – user936414
이 도움이 될 수 있습니다. http://stackoverflow.com/questions/9465167/populating-a-spinner-from-another-spinner-depending-on-condition/9465340#9465340 – Hiral
owq는 getter-setter 클래스의 객체입니다. –