это сценарий:Как сделать интерактивный элемент в списке и какой адаптер выбрать?
public class LecturAct extends ListActivity {
private static final String AR_ID = "id_lec";
private static final String AR_LC = "lec_nm";
private static final String AR_CLS = "class";
private static final String EXTRA_DATA = "idr";
JSONArray lec = null;
ArrayList<HashMap<String, String>> lec_list = new ArrayList<HashMap<String, String>>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_lec);
Intent quiz = getIntent();
String id = quiz.getStringExtra(EXTRA_DATA);
String link_url = "http://xxxx/xxxx.php?id="+id;
JSONParser jParser = new JSONParser();
JSONObject json = jParser.gtJson(link_url);
try {
lec = json.getJSONArray("lec");
for(int i = 0; i < lec.length(); i++){
JSONObject ar =lec.getJSONObject(i);
String lectid = ar.getString(AR_ID);
String lecname = ar.getString(AR_LC);
String class = ar.getString(AR_CLS);
HashMap<String, String> map = new HashMap<String, String>();
map.put(AR_ID, lectid);
map.put(AR_LC, lecname);
map.put(AR_CLS, class);
lec_list.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
}
this.adapter_listview();
}
ива пытался сделать интерактивную деталь на моем ListView, это сценарий:
public void adapter_listview() {
ListAdapter adapter = new SimpleAdapter(this, lec_list,
R.layout.list_item,
new String[] { AR_ID, AR_CLS, AR_LC}, new int[] {
R.id.title, R.id.content, R.id.code});
setListAdapter(adapter);
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
String cd = ((TextView) view.findViewById(R.id.code)).getText().toString();
Intent in = new Intent(LecturAct.this, Quis.class);
in.putExtra(AR_ID, cd);
startActivity(in);
}
});
}
, но когда я нажимаю элемент, он держать взять меня в неправильное направление, всегда отведите меня к последнему пункту. если пункты в списке
- физико-
- биологии
- спорт
- социального
- математика
тогда, когда я нажимаю биологию или что-то я выбираю, он всегда будет вести меня к странице «математика». И что же мне делать? Я использую неправильный адаптер? Пожалуйста, помогите мне, дайте мне решение, чтобы сделать это правильно :(
Я не могу использовать onListItemClick, красная подсказка продолжает говорить мне об изменении его на onItemClick –
Я рад, что он работает сейчас для тебя. (Я должен был ответить ранее) Фактически onItemClick недоступен, когда используется ListActivity. onItemClick доступен, когда вы используете Activity вместо этого. Если это так, то используется «lv.setOnItemClickListener». Этот дизайн структуры затрудняет изменение родительского класса с Activity на ListActivity. –