安卓Spinner
spinner.setOnItemSelectedListener(newOnItemSelectedListener(){publicvoidonItemSelecte...
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?>arg0,View arg1,int arg2,long arg3) {
textView1.setText(((TextView)arg1).getText());
}
});
选什么textView1就显示什么
接下来要加上添加选项的功能
button2.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
String newData = myEditText.getText().toString();
arrayAdapterRef.add(newData);
int position = arrayAdapterRef.getPosition(newData);
spinner.setSelection(position);
}
});
点button2以后没有选择(没调用第一个方法),textView1却变成新添加的项了,为什么?
感觉应该是 spinner.setSelection(position) 这句话的作用,这是什么原理?
请教大牛,多谢
那个 spinner.setSelection(position) 是为后面删除选项做准备的
arrayAdapterRef.remove(spinner.getSelectedItem().toString());
如果去掉setSelection那句话就不能删掉最新添加的选项了吧
怎么让textView1只显示我主动选过的选项?而且不影响remove最新添加的选项?或者有更好的remove方法? 展开
public void onItemSelected(AdapterView<?>arg0,View arg1,int arg2,long arg3) {
textView1.setText(((TextView)arg1).getText());
}
});
选什么textView1就显示什么
接下来要加上添加选项的功能
button2.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
String newData = myEditText.getText().toString();
arrayAdapterRef.add(newData);
int position = arrayAdapterRef.getPosition(newData);
spinner.setSelection(position);
}
});
点button2以后没有选择(没调用第一个方法),textView1却变成新添加的项了,为什么?
感觉应该是 spinner.setSelection(position) 这句话的作用,这是什么原理?
请教大牛,多谢
那个 spinner.setSelection(position) 是为后面删除选项做准备的
arrayAdapterRef.remove(spinner.getSelectedItem().toString());
如果去掉setSelection那句话就不能删掉最新添加的选项了吧
怎么让textView1只显示我主动选过的选项?而且不影响remove最新添加的选项?或者有更好的remove方法? 展开
展开全部
spinner.setSelection(position); 会触发spinner的选择事件。 而你上面有注册了他的选择事件。 所以spinner.setSelection(position);会触发上面的代码。
试试下面的。
思路就是 点button2的时候,把spinner的ItemSelecteListener暂时设置为null, 完了以后在重新设置。
OnItemSelectedListener selecteListener = new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?>arg0,View arg1,int arg2,long arg3) { textView1.setText(((TextView)arg1).getText());
}
};
spinner.setOnItemSelectedListener(selecteListener);
button2.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
String newData = myEditText.getText().toString();
arrayAdapterRef.add(newData);
int position = arrayAdapterRef.getPosition(newData);
spinner.setOnItemSelectedListener(null);
spinner.setSelection(position);
spinner.setOnItemSelectedListener(selecteListener);
}
});
AiPPT
2024-09-19 广告
2024-09-19 广告
AiPPT软件是一款由北京饼干科技有限公司开发的智能PPT生成工具,用户可通过官方渠道下载。该软件基于人工智能大模型和自然语言处理技术,支持一键生成高质量PPT,提供丰富的模板和素材选择,满足不同场景需求。用户只需输入主题或文档资料,即可快...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询