我正在使用数组适配器,并且这是添加字符串s的数组列表,列表是多选,如何获取列表项的值被点击?
my_contacts_list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice,conts_list);
my_contacts_list.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
我试图这样做,
SparseBooleanArray positions = my_contacts_list.getCheckedItemPositions();
int size=positions.size();
int i=0;
while(i <= size){
conts_list.get(positions.get(i));
i++;
}
Run Code Online (Sandbox Code Playgroud)
但是position.get(i)是一个数组列表,那么如何检索所选项呢?
我需要在ListView选中的一行中突出显示一行(向用户显示他选择的内容),因此,这不是将要选择的那一行,而是他之前选择的那一行.
我已经有了以下位置:
ListView.setSelection(position);
Run Code Online (Sandbox Code Playgroud)
现在我想要的是选择这个特定的行并突出显示它.
onCreate()活动中包含以下内容的代码ListView:
public class CountryView extends Activity
{
protected static final String LOG_TAG = null;
/** Called when the activity is first created. */
String[] lv_arr = {};
ListAdapter adapter;
TextView t;
private ListView lvUsers;
private ArrayList<Coun> mListUsers;
String responce=null;
public int d;
int selectedListItem = -1;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.country);
Intent data =getIntent();
mListUsers = getCoun();
lvUsers = (ListView) findViewById(R.id.counlistView);
lvUsers.setAdapter(new ListAdapter(this, R.id.counlistView, mListUsers));
selectedListItem=data.getExtras().getInt("PositionInList");
lvUsers.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
lvUsers.setOnItemClickListener(new …Run Code Online (Sandbox Code Playgroud) 我是一个Android新手,试图学习UI方面的东西,它正在努力.这就是我现在所拥有的:
breeds_listing.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content">
<ListView android:id="@+id/breedsListView"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:dividerHeight="0px" android:divider="#00000000"></ListView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
breeds_listing_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/list_item_background"
android:orientation="horizontal" >
<TextView android:id="@+id/allbreeds_single_item"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:gravity="center_horizontal"></TextView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
list_item_background.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#043402" />
<stroke android:width="3dp" color="#ffff8080" />
<corners android:radius="8dp" />
<padding android:left="10dp" android:top="10dp" android:right="10dp"
android:bottom="10dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
我正在努力弄清楚的是我如何设计所选项目的样式?目前,所选项目具有可怕的橙色背景,在圆形绿色矩形下,呈现橙色轮廓效果.我确信我没有按照最佳做法做事,所以任何建议或改进都将不胜感激.
非常感谢,D.
我有一个ListView自定义适配器.在ListView允许多个选择,但不知何故,当一个项目被选中它不承认.
我已经使适配器项扩展了Checkable,但仍然getCheckedItemPositions()返回了一系列的falses.
我想有一些基本的我做错了,但到目前为止我还无法找到多个选择ListView的示例,其中适配器不是ArrayAdapter,使用多个选择的默认布局.
任何帮助将非常感激.
代码如下:
主要课程:
listView = (ListView) findViewById(R.id.cardlist);
tca = new TextCardAdapter(mInflater);
listView.setAdapter(tca);
Run Code Online (Sandbox Code Playgroud)
适配器:
public class TextCardAdapter extends BaseAdapter {
private int count = 0;
private List<CheckableCard> cardList = new ArrayList<CheckableCard>();
private LayoutInflater mInflater;
public TextCardAdapter(LayoutInflater inflater) {
this.mInflater = inflater;
}
@Override
public int getCount() {
return count;
}
@Override
public Object getItem(int position) {
return cardList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int …Run Code Online (Sandbox Code Playgroud) 我有Android应用程序列表视图,选择模式设置为多选模式.
此列表中的项目定义为相对布局.
如何在选择项目时更改项目的背景?
项目xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
...
android:checkable="true"
android:background="@drawable/my_item_background"
Run Code Online (Sandbox Code Playgroud)
我的项目背景xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@color/mycolor1" android:state_selected="true"/>
<item android:drawable="@color/mycolor2" android:state_checked="true"/>
<item android:drawable="@android:color/black"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
物品的背景总是黑色的.