0

スピナーとカスタム アダプター (ラジオ ボタンなし) を使用しています。スピナーは最初の値を選択し、発生してはならないインテントを渡しています。

私の要件は、スピナーのアイテムをクリックすると、対応するアクションのみが発生することです。

私のコードは次のとおりです。

CustomAdapter<String> adapter = new CustomAdapter<String>(this,                 android.R.layout.simple_spinner_dropdown_item,
                new String[] { "Add/Delete symbols", "forex","metal" });
        adapter.setDropDownViewResource(R.drawable.spinner_button);
chooseMarket.setPrompt("Currency settings");
        chooseMarket.setAdapter(adapter);

chooseMarket.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> parent,View view, int pos, long id) {

String selectedItem = chooseMarket.getSelectedItem().toString();
if (selectedItem.equalsIgnoreCase("Add/Delete symbols")) {
//Intent passing here
}

@Override
    public void onNothingSelected(AdapterView<?> arg0) {
                        // TODO Auto-generated method stub

                    }

});

//私のカスタムアダプター

private static class CustomAdapter<T> extends ArrayAdapter<String> {
    public CustomAdapter(Context context, int textViewResourceId,
            String[] objects) {
        super(context, textViewResourceId, objects);
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        View view = super.getView(position, convertView, parent);
        TextView textView = (TextView) view
                .findViewById(android.R.id.text1);
        // RadioButton rb = view.findViewById(R.id.)
        textView.setText("");
        return view;
    }
}

助けてください

4

1 に答える 1

0

これを使用してみてください:

private static class CustomAdapter<T> extends ArrayAdapter<String> {
public CustomAdapter(Context context, int textViewResourceId,
        String[] objects) {
    super(context, textViewResourceId, objects);
}

public View getView(int position, View convertView, ViewGroup parent) {
    View view = super.getView(position, convertView, parent);
    TextView textView = (TextView) view
            .findViewById(android.R.id.text1);
    // RadioButton rb = view.findViewById(R.id.)
    textView.setText(objects[position]);

    view.setOnclickListner(new OnClickListener){

    String selectedItem = textView.getText().toString();
    if (selectedItem.equalsIgnoreCase("Add/Delete symbols")) {
       //Intent passing here
    }
    }

    return view;
}}
于 2013-08-09T10:54:17.880 に答える