我创建了一个带有微调器
和文本视图
的Android应用程序。我想在 TextView 中显示微调器下拉列表中的选定项。我在 onCreate
方法中实现了微调器,因此当我运行该程序时,它会在 TextView
中显示一个值(在从下拉列表中选择一个项目之前)。
我只想在从下拉列表中选择一个项目后在TextView中显示该值。我该怎么做?
以下是我的代码:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class GPACal01Activity extends Activity implements OnItemSelectedListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner spinner = (Spinner) findViewById(R.id.noOfSubjects);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.noofsubjects_array, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
public void onItemSelected(AdapterView<?> parent, View arg1, int pos,long id) {
TextView textView = (TextView) findViewById(R.id.textView1);
String str = (String) parent.getItemAtPosition(pos);
textView.setText(str);
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
从API level 3开始,您可以对带有布尔值的活动使用onUserInteraction()来确定用户是否正在与设备交互。
http://developer . Android . com/reference/Android/app/activity . html # onUserInteraction()
@Override
public void onUserInteraction() {
super.onUserInteraction();
userIsInteracting = true;
}
作为活动的一部分,我有:
private boolean userIsInteracting;
最后,我的微调器:
mSpinnerView.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View view, int position, long arg3) {
spinnerAdapter.setmPreviousSelectedIndex(position);
if (userIsInteracting) {
updateGUI();
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
当你在活动中来来去去时,布尔值被重置为false。就像魅力一样。
只需在设置“OnItem所选列表”
之前输入此行
spinner.setSelection(0,false)
这是因为setSelection(int,boolean)
在内部调用setSelectionInt()
,因此在添加侦听器时,项目已经被选中。
请注意,setSelection(int)
无法工作,因为它在内部调用setNextSelectedPositionInt()
。
spinner.setOnItemSelectedListener(this); // Will call onItemSelected() Listener.
所以第一次用任何整数值处理它
示例:最初取int check=0;
public void onItemSelected(AdapterView<?> parent, View arg1, int pos,long id) {
if(++check > 1) {
TextView textView = (TextView) findViewById(R.id.textView1);
String str = (String) parent.getItemAtPosition(pos);
textView.setText(str);
}
}
你可以用布尔值来做,也可以通过检查当前和以前的位置来做。看这里
我正在开发我的第一个 Swing 应用程序,现在提出了一个难题:在静态初始化期间或开始实际执行后执行引导和资源初始化。我是什么意思...我有单例: 因此,方法如下所示 或者,也许我在启动后手动初始化资源,然后运行它。逻辑上正确的方式是什么?
问题内容: 题 苹果的文档指定: 首次初始化属性时,不会调用willSet和didSet观察器。仅当在初始化上下文之外设置属性的值时才调用它们。 是否可以强制在初始化期间调用它们? 为什么? 假设我有这堂课 我创建了method ,以使处理调用更简洁,但我只想处理函数中的属性。有没有办法在初始化过程中强制此调用? 更新资料 我决定只为我的类删除便捷的初始化器,并强迫您在初始化后设置属性。这使我知道
我正在尝试使用 我收到了这些错误信息,比如: 错误:应该在运行时初始化的类在映像构建过程中被初始化了:org.apache.log4j。在构建时(从命令行)请求初始化该类的级别。org.apache.log4j。在没有本机映像初始化仪表的情况下初始化了级别,并且无法跟踪堆栈跟踪。尝试避免初始化导致org.apache.log4j初始化的类。级别org.slf4j.log4j12。Log4jLogg
我在做一个春靴项目。然后我尝试将mysql数据库连接到那个项目。我得到了名为“hikaripool-1-exception distry pool initialization”的错误。 这是整个StackTrace。
每次我尝试启动java时。exe,在本例中为java。exe-版本,我得到以下输出: 下面是我的问题的截图: 我在Google上搜索了解决方案,但没有任何效果......
我将JAX-WS标准的东西与生成客户端存根类。 live web服务位于不同的主机上,因此我需要在调用服务时提供url。到目前为止,我的方法是这样的(下面的类是从wsimport生成的): 第一:这是指定url的正确方法吗? 第二:似乎第1行中的构造函数实际上对新URL进行了网络调用!这会导致一个异常(由于未配置https),因此我永远无法进入下一行。 背景:我正在实现这个问题中概述的双向ssl