質問

私は現在最初のスピナーにいます。しかし、私はそれを実装できないので、OnitemselectedListenerの間にちょっと立ち往生しました。私はまず、Commonwaresの本の方法に従おうとしましたが、それは機能しますが、私の方法も機能しません。

最初はAdapterViewを直接実装させようとしましたが、唯一の結果は、EclipseがインターフェイスAdapterViewが利用できないことを教えてくれ、作成するように依頼したことでした...しかし、今でも同じエラーが発生しました。

public class Lunchplace extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mensa);
    Context c = getApplicationContext();

    Spinner dateSelection = (Spinner)findViewById(R.id.date);

    //ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.)
    // get all the little tidbits of extra informations
    Bundle extras = getIntent().getExtras();

    String location = extras.getString("Mensa");
    // this function will download the Lunchfile - if necessary
    Data lunchData = new XMLData(c);

    // set the header text
    TextView mensaname = (TextView)findViewById(R.id.header);
    mensaname.setText(location);

    // get the spin view out of the xml
    Spinner spin = (Spinner)findViewById(R.id.date);

    // attach it to an adapter
    ArrayAdapter adapter = ArrayAdapter.createFromResource(
            this, R.array.days, android.R.layout.simple_spinner_item);
    // I should be able to put a custom layout of the spinner in there.. I bet
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spin.setAdapter(adapter);


    spin.setOnClickListener(
             new  AdapterView.OnItemSelectedListener() {           

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

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

        }
             }
    );

    // set the current day of the week as the default selection
    spin.setSelection(Tools.getDayOfWeek());

    // get the tablelayout
    TableLayout tl = (TableLayout)findViewById(R.id.MenuTable);
    lunchData.getMenuforDay(c,tl,location);

    TextView counterTV = new TextView(c, null, R.style.MenuField);

    }
}

誰かがその問題をどのように解決できるかについて何か考えを持っていますか?

役に立ちましたか?

解決

onitemselectedListenerを実装することに特別なものはありません。このようにsmthを試してみてください:

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            if ("YourDayToHandle".equals(spinner.getSelectedItem())) {
                // do smth useful here
            }
        }

    public void onNothingSelected(AdapterView<?> parent) {}
});
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top