Android学习第九天----Multiple_choice

单选跟多选的差别在于其中一个元素的不同而已,先看以下的代码:

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"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="get value" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>

自己创建的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/checkedTextView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:checkMark="?android:attr/listChoiceIndicatorMultiple"
        />

java代码:

package com.will.test;

import java.util.HashSet;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity implements OnItemClickListener,
        OnClickListener
{
    private Button mBut = null;
    private ListView mListView = null;
    private TextView mTextView = null;
    private String mValue = null;
    private HashSet set;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mBut = (Button) findViewById(R.id.button1);
        mListView = (ListView) findViewById(R.id.listView1);
        mTextView = (TextView) findViewById(R.id.textView1);

        String[] address ={ "aaaa", "bbbb", "cccc" };
        set = new HashSet();
        mBut.setOnClickListener(this);
        mListView.setAdapter(new ArrayAdapter(this, R.layout.activity_main_lv,address));
        mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        mListView.setOnItemClickListener(this);
    }

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
    {
        mValue = mListView.getItemAtPosition(arg2).toString();
        
        if(!set.contains(mValue))
        {
            set.add(mValue);
        }
        else
        {
            set.remove(mValue);
        }
    }

    @Override
    public void onClick(View v)
    {
        mTextView.setText(set.toString());

    }
}

将它的值传给集合中,然后通过对集合的操作来完成多重选择的输出。

posted @ 2013-03-15 00:24  小三小山  阅读(211)  评论(0编辑  收藏  举报