У меня есть два счетчика (Тема и Глава), я пишу две таблицы (Глава, тема).
Я добавляю все имена субъектов в тему вращения и мне нужно добавить все названия глав на основе
элементаВыбор в тему блесны.Мой вопрос в том, как это сделать, потому что мой код
не может этого сделать.Пожалуйста, дайте намек или ссылку.
Вот мой пример кода.
в 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.
}
}
Когда я пытаюсь его скомпилировать, но он показывает нулевое значение.Дайте некоторую помощь.
Заранее спасибо ....... Не нашел хорошего ответа .....
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;
}