[英]Android - Listview Selected Item
I made a listview and I wanted to make an user input a choice. 我做了一个列表视图,我想让用户输入一个选择。 How can I do this?
我怎样才能做到这一点? Atm I only managed to create the ListView and display the data.
Atm我只设法创建了ListView并显示数据。
Is there an easy way to get the value of a selected item of the ListView and use it later? 是否有一种简单的方法来获取ListView的选定项的值并在以后使用? Something like a ListView RadioButton.
类似于ListView单选按钮。
XML: XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.tiagosilva.amob_android.TubeDataArchive" >
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/lv_tubeData"
android:choiceMode="singleChoice">
</ListView>
Listview: 列表显示:
public class TubeDataArchive extends Fragment {
public TubeDataArchive() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_tube_data_archive, container, false);
ListView tubeDataList = (ListView) view.findViewById(R.id.lv_tubeData);
//load tube data
SharedPreferences settings = getActivity().getSharedPreferences("PREFS",0);
String tubeDataString = settings.getString("tubeData", "");
String[] tubeDataSplit = tubeDataString.split("\n");
List<String> tubeDataItems = new ArrayList<>();
for(int i=0; i<tubeDataSplit.length;i++)
{
tubeDataItems.add(tubeDataSplit[i]);
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, android.R.id.text1, tubeDataItems);
// Assign adapter to ListView
tubeDataList.setAdapter(adapter);
return view;
}
}
Is there an easy way to get the value of a selected item of the ListView and use it later?
是否有一种简单的方法来获取ListView的选定项的值并在以后使用?
Add onItemClickListener
after the for loop. 在for循环之后添加
onItemClickListener
。
tubeDataList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// do whatever you want
Log.d("############","Items " + tubeDataSplit[arg2] );
}
});
Something like a ListView RadioButton
类似于ListView单选按钮
If you want to have a listview
with a radio button
, then you need to create a custom listview
layout. 如果您想要一个带有
radio button
的listview
,则需要创建一个自定义listview
布局。
Add ItemClickListener to your listview 将ItemClickListener添加到您的列表视图
tubeDataList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(getapplicationcontext(), tubeDataItems.get(id),
Toast.LENGTH_LONG).show();
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.