Android学习第九天----single_choice

通过ListView实现组件单选,并能够对其中的值进行读取的操作。以下是具体的代码:

 main  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 android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListAdapter;
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;
    

    @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" };
        mBut.setOnClickListener(this);
        mListView.setAdapter(new ArrayAdapter(this, R.layout.activity_main_lv,address));
        mListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
        mListView.setOnItemClickListener(this);
    }

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
    {
        mValue = mListView.getItemAtPosition(arg2).toString();
        

    }

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

    }
}
mValue = mListView.getItemAtPosition(arg2).toString()这句话的意思是通过listview获取到具体在position位置的项目的值并将它转化为String然后赋值给mValue
posted @ 2013-03-15 00:20  小三小山  阅读(221)  评论(0编辑  收藏  举报