問(wèn)題描述
我有一個(gè)由 3 個(gè) EditText 字段組成的活動(dòng)(其中包括 TextViews 和一些按鈕).我還有一個(gè) AutoCompleteTextView,其中包含使用 ArrayAdapter 的字符串列表.
I have an activity consisting of 3 EditText fields (amongst other things like TextViews and a few buttons). I also have an AutoCompleteTextView with a list of String's using an ArrayAdapter.
每當(dāng)我在模擬器中測(cè)試應(yīng)用程序時(shí),我可以在鍵盤啟動(dòng)時(shí)鍵入,但它不顯示文本(它仍然提供預(yù)測(cè)),并且文本僅在鍵盤關(guān)閉后出現(xiàn)在 EditText 框中.當(dāng)我在手機(jī)上測(cè)試它時(shí)也會(huì)發(fā)生這種情況.但是,如果屏幕鍵盤沒(méi)有啟動(dòng)并且您只是正常輸入,它會(huì)在您在模擬器上輸入時(shí)顯示出來(lái).
Whenever I test the app in an emulator, I can type when the keyboard is up but it doesn't show the text (it still gives predictions) and the text only appears in the EditText box once the keyboard is closed down. This happens when I test it on my phone, too. However, it works and shows up as you type on the emulator if the on-screen keyboard isn't up and you're just typing normally.
我不知道為什么!
這是我的活動(dòng) XML(EditText 是前 3 個(gè)塊)
Here is my Activity XML (where the EditText's are the top 3 blocks)
<?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>
這是我在活動(dòng)中使用的代碼:(我已經(jīng)刪除了不必要的代碼)
and here is the code I used in my activity: (I have stripped out unneccesary code)
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);
}
}
感謝閱讀
推薦答案
好的,所以我找出了問(wèn)題所在!
Ok, so I worked out what the issue was!
我沒(méi)有發(fā)布的代碼因?yàn)槲艺J(rèn)為它無(wú)關(guān)緊要"包含一個(gè)線程
The code which I didn't post because I thought it was 'irrelevant' contained a thread
public static Runnable updateTimerMethod = new Runnable()
{
public void run()
{
sessionTimer.setText(TimerHandler.theTime);
myHandler.postDelayed(this, 0);
}
};
通過(guò)將 postDelayed 設(shè)置為 0,我意識(shí)到線程基本上占用了所有活動(dòng)(我真的不知道如何正確解釋).一旦我將其更改為... 100,然后 EditText工作.
I realised that the thread was basically taking up all of the activity (I don't really know how to explain that properly) by having the postDelayed as 0. Once I changed this to say... 100, then the EditText worked.
感謝幫助我的@NKN.
Thank you to @NKN who helped me.
這可能是針對(duì)我的,但希望這對(duì)其他人有所幫助.
This may be specific to me, but hopefully this will help somebody else.
這篇關(guān)于使用屏幕鍵盤鍵入時(shí),Android 中的 EditText 不顯示文本的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!