PDA

View Full Version : گرفتن مقدار انتخاب شده در لیست ویو (Get selected value or checked value in ListView)



ali_khodayar
شنبه 04 بهمن 1393, 10:46 صبح
من دوتا لیست دارم ، عنوان و دیگری آیدی . هر عنوان ، آیدی مخصوص خودش رو داره. لیست عنوان را در ListView نمایش دادم که میخوام زمانی یکی از آیتم های ListView انتخاب شد ، آیدی مخصوص آن عنوان را نمایش بده. ListView رو حالت CheckBox گذاشتم که کاربر بتونه چندین عنوان رو انتخاب کنه. حالا میخوام عنوان هایی رو که کاربر انتخاب میکنه رو گرفته و یه جا ذخیره کنم.
توی گرفتن ایدی هر عنوان به مشکل خوردم. کسی میدونه چطوری مشکلم حل میشه؟ ممنون.


@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_remark);

context = getApplicationContext();

sh = new SchemaHelper(context);

// -- Display mode of the ListView
ListView listview= getListView();
// listview.setChoiceMode(listview.CHOICE_MODE_NONE);
// listview.setChoiceMode(listview.CHOICE_MODE_SINGLE );
listview.setChoiceMode(listview.CHOICE_MODE_MULTIP LE);

//-- text filtering
listview.setTextFilterEnabled(true);


final List<String> textList= new ArrayList<String>();

final List<String> idList= new ArrayList<String>();

Cursor c= sh.getAllRemark();

for(int i=0; c.moveToNext();i++){
String caption= c.getString(c.getColumnIndex(P_RemarkTable.REM_CAP TION.toString()));
String id= c.getString(c.getColumnIndex(P_RemarkTable.REM_ID. toString()));
textList.add(caption);
idList.add(id);


ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked, textList);
listview.setAdapter(adapter);

listview.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
// idList.get(i).toString()
public void onItemClickListener(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(getApplicationContext(),idList.get( i).toString() , Toast.LENGTH_SHORT).show();
// barrierID=Integer.parseInt(idList.get(i));
}

public void onItemChecked(AdapterView<?> adapterView, View view, int i, long l){

Toast.makeText(getApplicationContext(), idList.get(i).toString(), Toast.LENGTH_SHORT).show();

}

public void onListItemClick(AdapterView<?> adapterView, View view, int i, long l){

// super.onListItemClick(adapterView, view, i, l);

Toast.makeText(getApplicationContext(),idList.get( i).toString(), Toast.LENGTH_SHORT).show();
}

@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(getApplicationContext(), idList.get(i).toString(), Toast.LENGTH_SHORT).show();
// barrierID=Integer.parseInt(idList.get(i));
}


@Override
public void onNothingSelected(AdapterView<?> adapterView) {
// do nothing
}
});


}
}

}