在微调器中 select 一个值后更新我的视图

Update my view after select a value in a spinner

我是 Android 的初学者,我想在 select 来自微调器的值之后更新我的主要观点。

public class MainActivity extends Activity {
        ArrayAdapter<String> adapter = null;
        Spinner spinnerMois, spinnerAnnee;
        DateAdapter dataAdapterMois , dataAdapterYear;spinnerMois = (Spinner) findViewById(R.id.spinnerMois);
        dataAdapterMois = new DateAdapter(this,
        android.R.layout.simple_spinner_item, loadMonth());
        dataAdapterMois.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinnerMois.setAdapter(dataAdapterMois);

        spinnerAnnee = (Spinner) findViewById(R.id.spinnerAnnee);
        dataAdapterYear = new DateAdapter(this, android.R.layout.simple_spinner_item, loadYear());
    dataAdapterYear.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerAnnee.setAdapter(dataAdapterYear);
    values = depenseBDD.getAllDepense();
    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values);
    //Here the values should be update by my spinners

}

我的 "Depense" 是一个对象 :

public class Depense {
int id;
String dateDepense;
float montant;
String categ;}

我想,通过询问月份和年份的 2spinners 选择更新我的主要内容并仅显示 "depense" 具有良好的月份和年份......老实说,我真的不知道该怎么做。你有什么建议吗?

基本上,这很容易。你可以像这样使用 "onItemSelect" /how-can-i-use-onitemselected-in-android

它看起来像这样:

public class spinner extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

Spinner year;
TextView dateView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_spinner);

    dateView = (TextView) findViewById(R.id.date);

    year = (Spinner) findViewById(R.id.anneeSpinner);
    year.setOnItemSelectedListener(this);
}



@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
    dateView.setText(adapterView.getItemAtPosition(i).toString());
}

@Override
public void onNothingSelected(AdapterView<?> adapterView) {

}
}

以及布局:

    <Spinner
    android:id="@+id/anneeSpinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:entries="@array/year"/>

<TextView
    android:id="@+id/date"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="helloo"/>

并为该月添加另一个微调器和文本视图。然后你可以将值添加到 main

在微调器上添加 OnItemClickListener。

spinnerMois.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            //write your code here to update view
        }
    });