Я пытаюсь получить некоторые значения из элемента списка ListView, чтобы я мог открыть свое новое намерение с тем же заголовком и описанием, что и элемент ListView.Получить значения из определенного элемента ListView
У меня небольшие проблемы с этим, так как до недавнего времени я никогда не работал с ListViews. Может ли кто-нибудь помочь мне с этим, пожалуйста?
SocietySearch.java:
Специальный код в OnItemClick
public class SocietySearch extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) { //TODO remember notifyDataSetChanged
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_society_search);
List<Society> societies = new ArrayList<>();
ServerRequests serverRequest1 = new ServerRequests(SocietySearch.this);
serverRequest1.GetSocietyDataAsyncTask(societies, new GetSocietyCallback() {
@Override
public void done(final List<Society> societies) {
final ListView lv = (ListView) findViewById(R.id.ListView);
List<ListViewItem> items = new ArrayList<>();
for (final Society s : societies) {
items.add(new ListViewItem() {{
ThumbnailResource = R.drawable.test;
Title = s.socName;
Description = s.socDes;
}});
}
final CustomListViewAdapter adapter = new CustomListViewAdapter(SocietySearch.this, items);
lv.setAdapter(adapter);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) findViewById(R.id.search);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setQueryHint("Search..");
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String text) {
adapter.getFilter().filter(text);
return false;
}
});
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View v, int position, long id) {
Toast.makeText(getApplicationContext(), "position: " + position, Toast.LENGTH_LONG).show();
Intent societyPage = new Intent(SocietySearch.this, SocietyPage.class);
startActivity(societyPage);
List<ListViewItem> obj = items.getItem(position);
//Here I want to get all values from clicked item position and assign them to variables
String value = obj.toString();
Log.d("MyLog", "Value is: " + value);
}
});
}
});
}
public class ListViewItem {
public int ThumbnailResource;
public String Title;
public String Description;
@Override
public String toString() {
return Title;
}
}
Вы можете использовать третья сторона шины, один из которых является 'Отто Bus' –
' items.getItem() 'возвращает один элемент не' list' элементов – tyczj