2016-07-30 14 views
0

findViewByIdで静的関数のエラーが見つかりました。findViewByIdは静的関数では機能しません

public static void onYearSelect() { 

    Spinner yearSelector; 
    String yearName; 
    yearSelector = (Spinner) findViewById(R.id.year_submit); 
    yearName = yearSelector.getSelectedItem().toString(); 

} 

is--

私の機能このエラーを解決するためにどのような方法があります!

は、私はあなたがパラメータとして関数内のビューを追加する必要がある文字列

答えて

3

としてyearNameにスピナーの値を格納することができます。

public static void onYearSelect(View view) { 

    Spinner yearSelector; 
    yearSelector = (Spinner) view.findViewById(R.id.year_submit); 
    yearName = yearSelector.getSelectedItem().toString(); 

} 

The view which contains your layout data

この関数を呼び出すと、onYearSelect(rootView)がここに追加されます。rootViewにレイアウトビューがあります。

EDIT 1:

ビューはここで何ですか?

A View in Android is a widget that displays something. Buttons, listviews, imageviews, etc. are all subclasses of View. When you say "change view" I assume you mean change the layout by using setContentView(). This usually only needs to be done once per activity. An Activity is basically what you are referring to as a screen.

あなたはhere詳細を読むことができます。

+0

私はアンドロイドスタジオで初心者です....あなたはこれでビューのビューを教えてください! –

0

spinnerオブジェクトにsetOnItemSelectedListenerを設定し、onItemSelected()内にyearNameの値を設定できます。以下のように、

関連する問題