2

フォローアップによって作成されたチェックボックスのリストビューがあります。

    public void addCard(final String cardId){
    ListView listView1;
    Lists movielist = new Lists();
    List<String> movies = new ArrayList<String>();      
    movies = movielist.movieList();

    listView1 = (ListView)findViewById(R.id.listView1);

    listView1.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, movies));
    listView1.setItemsCanFocus(false);
    listView1.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);



    listView1.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {


    CheckedTextView ctv = (CheckedTextView)arg1;        
    Toast.makeText(getApplicationContext(),ctv.getText().toString(), Toast.LENGTH_SHORT).show();
    //do your stuff in here!        
    }   
    });

    Button submit = (Button)findViewById(R.id.button1);
    submit.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            Toast.makeText(getApplicationContext(),"", Toast.LENGTH_SHORT).show();

        }
     });
}

ボックスがチェックされると、チェックボックスに関連付けられたテキストをトーストできます。私ができるようにしたいのは、送信をクリックしたときにチェックされているすべてのボックスに関連付けられたテキストを乾杯することです。

理想的には、各値がチェックボックスに関連付けられたテキストのチャックの 1 つであるリストが必要です。

乾杯!

4

1 に答える 1

1

チェックされたビューは SparseBooleanArray で返されるため、以下のコードを使用してキーまたは値を取得できます。以下のサンプルは、単一の文字列で選択された名前を単純に表示したものです。

@Override
public void onItemClick(AdapterView<?> adapter, View arg1, int arg2, long arg3)
{

       SparseBooleanArray sp=getListView().getCheckedItemPositions();

     String str="";
       for(int i=0;i<sp.size();i++)
       {
           str+=movies.get(sp.keyAt(i))+",";
        }
      Toast.makeText(this, ""+str, Toast.LENGTH_SHORT).show();

 }

これがあなたの望むものだと思います。

于 2013-03-09T04:47:33.130 に答える