我創建了一個可擴展的ListView,其中我創建了一個自定義組佈局。在android中的grouplayput上編輯文本的可擴展列表
在組佈局上,我在右側創建了一個EditText。每當我在EditText上放置文本並單擊可展開列表時,列表不會展開/摺疊。
當我對EditText進行focusable false時,那麼list是展開/摺疊。
如何解決這個問題?請建議我。
我創建了一個可擴展的ListView,其中我創建了一個自定義組佈局。在android中的grouplayput上編輯文本的可擴展列表
在組佈局上,我在右側創建了一個EditText。每當我在EditText上放置文本並單擊可展開列表時,列表不會展開/摺疊。
當我對EditText進行focusable false時,那麼list是展開/摺疊。
如何解決這個問題?請建議我。
編輯文本本身就是一個關注焦點的組件。如果我們在列表視圖中放置可展開列表,那麼列表單擊和摺疊展開屬性將不起作用。 同樣的問題出現了,當您使用的EditText,按鈕的ImageButton等,
所以你需要使用:
1.使用在擴展列表如下屬性:
android:descendantFocusability="blocksDescendants"
或 2。在EditText中使用以下屬性
android:focusable="false"
今天,我解決了上面的問題在可擴展列表和N級可擴展列表視圖。 我附上了代碼。 首先,我已經在您的活動/適配器上設置了可編輯文本的焦點假,不要在EditText的xml上。
EditText.setFocusable(false);
其次,我已經使用觸摸聽者因爲在這裏我設置的編輯text.So,我可以很容易地鍵入編輯框的文本可聚焦如此。
EditText.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
EditText.setFocusableInTouchMode(true);
return false;
}
});
在那之後,我已經使用的KeyListener因爲我在這裏根據位置獲得散列地圖數據和設置值/組position.so,每當我點擊2級或第N級膨脹列表視圖數據不變。這對於可擴展列表視圖非常重要。完成按鍵我隱藏了鍵盤,並且設置了可編輯文本的可重點虛假,以便我可以自由展開/摺疊。
EditText.setOnKeyListener(new OnKeyListener() {
String editValue;
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)
{
editValue=groupHolder.numberEdit.getText().toString().trim();
EditText.setFocusable(false);
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY,0);
}
setEditValueHashMap.put(groupPosition, editValue);
return false;
}
});
你好,我編輯fandroid:focusable =「false」在編輯文本字段上。但是我面臨新的問題,我不是在編輯框上寫文本。 – Deepak