在微调器中 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
}
});
我是 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
}
});