android 应用之listview添加radiobutton,获取textView
转自http://blog.csdn.net/dany1202/archive/2010/11/20/6023449.aspx
点击一整行,更换radiobutton选择。
xml代码:
view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView android:id="@+id/list_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
/>
<ImageView android:id="@+id/list_radioImg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"/>
</RelativeLayout>
java代码:
view plaincopy to clipboardprint?
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
public class listRadioBtn extends ListActivity {
/** Called when the activity is first created. */
private int balanceIndex = 0;
SimpleAdapter adapter;
List<Map<String, Object>> list;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
adapter= new SimpleAdapter(this,getData(),R.layout.main,new String[]{"text","img"},new int[]{R.id.list_text,R.id.list_radioImg});
setListAdapter(adapter);
}
private List<Map<String, Object>> getData(){
list = new ArrayList<Map<String, Object>>();
Map<String, Object> map_day = new HashMap<String, Object>();
map_day.put("text", "白天");
map_day.put("img", R.drawable.setlist_radio_on);
list.add(map_day);
Map<String, Object> map_clody = new HashMap<String, Object>();
map_clody.put("text", "阴天");
map_clody.put("img", R.drawable.setlist_radio_off);
list.add(map_clody);
Map<String, Object> map_clo = new HashMap<String, Object>();
map_clo.put("text", "微风");
map_clo.put("img", R.drawable.setlist_radio_off);
list.add(map_clo);
return list;
}
protected void onListItemClick(ListView arg0, View arg1, int arg2, long arg3) {
Toast t = Toast.makeText(this, ""+list.get(arg2).get("text"), Toast.LENGTH_LONG);
t.show();
ChangeRadioImg(balanceIndex,false);
ChangeRadioImg(arg2,true);
balanceIndex=arg2;
list.get(arg2).get("text");
}
private void ChangeRadioImg(int selectedItem, boolean b) {
SimpleAdapter la = adapter;
HashMap<String, Object> map = (HashMap<String, Object>)la.getItem(selectedItem);
if(b)
map.put("img", R.drawable.setlist_radio_on);
else
map.put("img", R.drawable.setlist_radio_off);
la.notifyDataSetChanged();
}
}
二
另一个简单办法:
android系统中,提供了这样的方法
mylist.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
程序主代码:
view plaincopy to clipboardprint?
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.list_layout);
contentString = new String[] {
"示例", "透明动画",
"伸缩动画", "移动动画",
"旋转动画", "透明_伸缩",
"透明_移动", "透明_旋转"
};
arrayAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_single_choice,
contentString);
mylist = (ListView) findViewById(R.id.ListView01);
mylist.setAdapter(arrayAdapter);
mylist.setOnItemClickListener(this);
mylist.setOnItemSelectedListener(this);
mylist.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
mylist.setItemChecked(0, true);
}
其中,android.R.layout.simple_list_item_single_choice在framework/base/core/res/res/layout目录下,可参见源码
三 多选框
view plaincopy to clipboardprint?
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class ListCheckbox extends Activity implements OnItemClickListener,OnItemSelectedListener{
private String contentString[];
ArrayAdapter arrayAdapter;
ListView mylist;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
contentString = new String[] {
"示例", "透明动画",
"伸缩动画", "移动动画",
"旋转动画", "透明_伸缩",
"透明_移动", "透明_旋转"
};
arrayAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice,//.simple_list_item_single_choice,
contentString);
mylist = (ListView) findViewById(R.id.ListView01);
mylist.setAdapter(arrayAdapter);
mylist.setOnItemClickListener(this);
mylist.setOnItemSelectedListener(this);
mylist.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);//.CHOICE_MODE_SINGLE);
mylist.setItemChecked(0, true);
}
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
mylist.setItemChecked(arg2, true);
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
}
}
main.xml
view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView android:id="@+id/ListView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
分享到:
相关推荐
在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。"删除ListView选中的item"这个话题涉及到用户交互、数据管理和视图更新等核心知识点。在这个场景下,用户点击“清理”按钮后,ListView...
在许多场景下,我们需要在ListView中加入复选框(Checkbox),实现多选功能,例如用户可以选择多个项目进行操作。本文将详细介绍如何在Android中使用ListView和Checkbox实现多选功能。 一、ListView概述 ListView是...
ListView listView = findViewById(R.id.list_view); MyAdapter adapter = new MyAdapter(this); listView.setAdapter(adapter); ``` 4. **处理点击事件**:在匿名内部类中,我们可以定义点击事件的具体逻辑。例如...
为了在每个列表项中加入Checkbox,我们需要创建一个新的XML布局文件,包含一个TextView用于显示数据和一个Checkbox用于选择。 ```xml <!-- item_layout.xml --> android:layout_width="match_parent" android:...
在ListView中,我们有时需要在每个Item(列表项)内加入可选的元素,如Checkbox,以实现多选、勾选等交互功能。本篇文章将深入探讨如何在ListView的内部Item布局中添加并处理Checkbox控件。 首先,我们需要创建一个...
然而,当需要在ListView的每一项中加入可勾选的Checkbox时,开发者往往会遇到一些问题,比如CheckBox的状态控制困难,点击事件冲突等。本教程将详细介绍如何在ListView中正确地与Checkbox联用,以实现列表项的勾选...
主界面CheckBoxinListViewActivity.java代码如下: 代码如下: public class ... private ListView listview; private Button checkAll; private Button noCheckAll; @Override public void onCreate(Bundle
本文主要实现在自定义的ListView布局中加入CheckBox控件,通过判断用户是否选中CheckBox来对ListView的选中项进行相应的操作。通过一个Demo来展示该功能,选中ListView中的某一项,然后点击Button按钮来显示选中了...
本文将详细探讨如何在MFC中实现一个加入动态控件并具有消息响应功能的List Control,同时解决拖动滚动条时动态控件位置更新以及屏闪问题。 List Control,也称为ListView,是Windows用户界面中的一个重要组件,常...
可以通过在适配器(Adapter)中重写`getView()`方法,加入如下代码: ```java @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView ...
在这个例子中,`AsyncImageLoader` 类中的 `DownPicThread` 线程扮演消费者角色,处理任务列表 `task_List` 中的任务,而其他部分(可能是UI线程)添加任务到列表中,扮演生产者的角色。 - 使用 `wait()` 和 `...
2.holo风格的dialog包含两种holo:Theme.AlertDialogPro.Holo和Theme.AlertDialogPro.Holo.Light只需在style文件中加入alertDialogProTheme属性:<style name="AppTheme" parent="AppBaseTheme"> ... ...
在设计用户界面时,Visual Studio(VS)提供了丰富的控件库,如TextBox用于输入文本,ListView或DataGrid用于展示数据,Button用于执行操作等。通过拖放这些控件并设置相应的事件处理程序,我们可以构建出直观易用的...
<button>加入购物车</button> ``` 接下来,我们需要在代码-behind文件(如`.cs`或`.vb`)中设置DataList的数据源。假设我们有一个名为`SaleList`的列表,包含商品信息: ```csharp protected void Page_Load...
在这个布局中,通常会包含一个RecyclerView或者ListView来展示选项,每个选项旁边有一个复选框供用户选择。复选框的状态可以通过CheckedTextView或者CheckBox控件来表示。 ```xml <!-- multi_choice_item.xml --> ...
6.9 Visual C++ 2010 ListView开发 335 6.10 Visual C++ 2010 RichEditView开发 335 6.11 VisualC++ 2010 TreeView开发 336 6.12 Visual C++ 2010 Office 2007风格文档视图开发框架 337 Visual C++ 2010 ...
6.9 Visual C++ 2010 ListView开发 335 6.10 Visual C++ 2010 RichEditView开发 335 6.11 VisualC++ 2010 TreeView开发 336 6.12 Visual C++ 2010 Office 2007风格文档视图开发框架 337 6.13 Visual C++ 2010 Visual...
这些控件的交互逻辑需要通过事件驱动编程来实现,比如Button的Click事件对应按钮点击,TrackBar的ValueChanged事件对应音量滑动。 再者,为了实现音乐列表功能,我们需要用到数据结构和控件绑定。可以使用ListBox或...
13.zip The simplest way to put the MRU list in a submenu 将MRU列表加入子菜单的简单途径(2KB)<END><br>14,14.zip Using MRU on a submenu 在子菜单中使用MRU(3KB)<END><br>15,15.zip MRU list ...