繁体   English   中英

Android-Listview所选项目

[英]Android - Listview Selected Item

我做了一个列表视图,我想让用户输入一个选择。 我怎样才能做到这一点? Atm我只设法创建了ListView并显示数据。

是否有一种简单的方法来获取ListView的选定项的值并在以后使用? 类似于ListView单选按钮。

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>

列表显示:

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;
}

 }

是否有一种简单的方法来获取ListView的选定项的值并在以后使用?

在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] );
     }
 });

类似于ListView单选按钮

如果您想要一个带有radio buttonlistview ,则需要创建一个自定义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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM