Smi*_*tey 4 eclipse android android-edittext
我有一个由3个EditText字段组成的活动(以及其他诸如TextViews和一些按钮)。我也有一个使用ArrayAdapter的String列表的AutoCompleteTextView。
每当我在模拟器中测试该应用程序时,我都可以在键盘启动时进行键入,但它不会显示文本(仍会提供预测),并且仅在键盘关闭时该文本才会显示在EditText框中。当我也在手机上进行测试时,也会发生这种情况。但是,如果屏幕上的键盘没有弹起,而您只是在正常键入,则在您在模拟器上键入时,它将起作用并显示。
我不知道为什么!
这是我的Activity XML(其中EditText是前3个块)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/l"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_x="3dp"
android:layout_y="5dp"
android:background="@drawable/gymbg" >
<AutoCompleteTextView android:id="@+id/inputExercise"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:completionThreshold="1"
android:inputType="text"
android:layout_alignParentRight="true"
android:layout_below="@+id/timeSet"
android:layout_margin="10dp"
android:layout_marginTop="50dp"
android:width="200dp" />
<EditText
android:id="@+id/inputWeight"
android:inputType="number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/inputExercise"
android:layout_margin="10dp"
android:layout_marginTop="50dp"
android:width="200dp" >
</EditText>
<EditText
android:id="@+id/inputReps"
android:inputType="number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/inputWeight"
android:layout_margin="10dp"
android:layout_marginTop="50dp"
android:width="200dp" >
</EditText>
<TextView
android:id="@+id/timeMain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="@string/timeMain"
android:textSize="32sp"
android:textColor="#0F293B"/>
<TextView
android:id="@+id/timeSet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/timeMain"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:text="@string/timeSet"
android:layout_marginBottom="50dp"
android:textColor="#0F293B"/>
<TextView
android:id="@+id/labExercise"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/addbutton"
android:layout_alignParentLeft="true"
android:layout_below="@+id/timeSet"
android:layout_centerVertical="true"
android:layout_margin="10dp"
android:layout_marginLeft="15dp"
android:text="@string/labExercise"
android:layout_toLeftOf="@+id/inputExercise"
android:textColor="#ffffff"/>
<Button
android:id="@+id/addbutton"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_margin="10dp"
android:text="@string/add" />
<Button
android:id="@+id/startStop"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/addbutton"
android:layout_alignParentLeft="true"
android:layout_margin="10dp"
android:text="@string/startStop" />
<TextView
android:id="@+id/labWeight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/inputExercise"
android:layout_margin="10dp"
android:text="@string/labWeight"
android:textColor="#ffffff"/>
<TextView
android:id="@+id/labReps"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignTop="@+id/inputReps"
android:layout_margin="10dp"
android:text="@string/labReps"
android:textColor="#ffffff"/>
<TextView
android:id="@+id/seePrevious"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/inputExercise"
android:layout_centerHorizontal="true"
android:layout_marginBottom="22dp"
android:text="@string/tapToViewPrevious"
android:textColor="#505050"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
这是我在活动中使用的代码:(我去除了不必要的代码)
public class MyWorkoutDiary1Activity extends Activity implements OnClickListener, TextWatcher
{
TextView seePrevious;
DatabaseHandler db;
AutoCompleteTextView myAutoComplete;
ArrayList<String> exerciseType = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
exercise = new EditText(this);
exercise = (EditText)findViewById(R.id.inputExercise);
db = new DatabaseHandler(this);
exerciseType = db.getUniqueExercises();
myAutoComplete = (AutoCompleteTextView)findViewById(R.id.inputExercise);
myAutoComplete.addTextChangedListener(this);
myAutoComplete.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, exerciseType));
weight = new EditText(this);
weight = (EditText)findViewById(R.id.inputWeight);
reps = new EditText(this);
reps = (EditText)findViewById(R.id.inputReps);
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢阅读
它对我有用,可能对其他人也有帮助,请打开清单文件并设置hardwareAccelerated =“ true”。
<application
android:allowBackup="true"
.....
android:hardwareAccelerated="true">
Run Code Online (Sandbox Code Playgroud)
有关硬件加速的更多信息,请访问https://developer.android.com/guide/topics/graphics/hardware-accel.html
好的,所以我弄清楚了问题是什么!
我没有发布的代码是因为我认为它“不相关”包含一个线程
public static Runnable updateTimerMethod = new Runnable()
{
public void run()
{
sessionTimer.setText(TimerHandler.theTime);
myHandler.postDelayed(this, 0);
}
};
Run Code Online (Sandbox Code Playgroud)
我意识到线程基本上通过将 postDelayed 设置为 0 来占用所有活动(我真的不知道如何正确解释)。一旦我将其更改为... 100,然后 EditText 就起作用了。
感谢@NKN 帮助了我。
这可能是针对我的,但希望这对其他人有帮助。
| 归档时间: |
|
| 查看次数: |
7817 次 |
| 最近记录: |