Java 在微调器中选择值后更新我的视图

Java 在微调器中选择值后更新我的视图,java,android,spinner,Java,Android,Spinner,我是Android中的乞丐,我想在从微调器中选择一个值后更新我的主视图 public class MainActivity extends Activity { ArrayAdapter<String> adapter = null; Spinner spinnerMois, spinnerAnnee; DateAdapter dataAdapterMois , dataAdapterYear;spinnerMois = (Spinne

我是Android中的乞丐,我想在从微调器中选择一个值后更新我的主视图

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

我想,由2个要求月份和年份选择更新我的主要和DIPPLAY只“depense”与良好的月份和年份。。。老实说,我真的不知道该怎么做。你有什么建议吗?

基本上,这很容易。您可以像这样使用“onItemSelect”

它看起来像这样:

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) {

}
}
公共类微调器扩展AppCompativeActivity实现AdapterView.OnItemSelectedListener{
旋转年;
文本视图日期视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u微调器);
dateView=(TextView)findViewById(R.id.date);
年份=(微调器)findViewById(R.id.ANNESPINDER);
年份。SetonimselectedListener(本);
}
@凌驾
已选择公共视图(AdapterView AdapterView、View视图、int i、long l){
dateView.setText(adapterView.getItemAtPosition(i.toString());
}
@凌驾
未选择公共无效(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

add mclickListener

spinnerMois.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            //write your code here to update view
        }
    });
spinnerMois.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
//在此处编写代码以更新视图
}
});

好的,谢谢!我现在就试试这个!(我不能+1你的帖子^^^)别担心。我知道这种感觉。我刚刚被授予特权!你的答案和你之前的答案有区别吗?我的意思是,一个比另一个好,或者两者都好?
spinnerMois.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            //write your code here to update view
        }
    });