1

リストビューの組み込みチェックボックスメソッドlistviewを使用して作成しようとしています。stackoverflow の投稿を確認したところ、1 つの問題を除いて正常に実行されていることがわかりました。checkbox

リストに 4 つのアイテムがあり、2 番目と 3 番目のアイテムをオンクリックすると、必要に応じて 2 番目と 3 番目のアイテムが表示されます。最初なので、必要な出力として 2 番目と 3 番目を残す必要があります。ただし、最初の2番目と3番目のアイテムを出力として提供しています。

誰かがそれについて私を導くことができます..?

これはJavaコードです:

public class TailoredtwoActivity extends Activity implements OnItemClickListener, OnClickListener{

    Button btn1;
    ListView mListView;
    String[] array = new String[] {"Ham", "Turkey", "Bread"};

    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tailoredtwo);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked, array);

        mListView = (ListView) findViewById(R.id.listViewcity);
        mListView.setAdapter(adapter);
        mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

        Button button = (Button) findViewById(R.id.btn_tailortwo_submit);
        button.setOnClickListener(this);
    }

    public void onClick(View view) {
        SparseBooleanArray positions = mListView.getCheckedItemPositions();
        int size = positions.size();
        for(int index = 0; index < size; index++) {
            Toast.makeText(getApplicationContext(), array[positions.keyAt(index)].toString(), Toast.LENGTH_LONG).show();
        }
    }


    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        // TODO Auto-generated method stub

    }
}
4

1 に答える 1

1

に変更onClickします

以下をクラス変数として宣言

StringBuilder builder;

それで

public void onClick(View view) {
    SparseBooleanArray positions = mListView.getCheckedItemPositions();
    builder = new StringBuilder();
    for(int index = 0; index <array.length; index++) {
         if(positions.get(index)==true)
         {
             builder.append(array[index]);
             builder.append("\n");
         }

    }
    Toast.makeText(getApplicationContext(),builder, Toast.LENGTH_LONG).show();
}
于 2013-07-09T17:31:41.100 に答える