2014-09-10 1 views
0

각 행에는 여러 행이 있고 각 행에는 차원에 해당하는 EditText가 있습니다. 어떤 EditText가 현재 선택되어 있는지를 리턴 할 어떤 종류의 리스너를 갖고 싶습니다. getCurrentFocus(); 또는 onFocusChange();으로이 작업을 수행 할 수 있습니까?포커스에서 어떤 EditText 필드가 선택되었는지 확인합니다.

제 아이디어는 편집하려는 치수 필드를 사용자가 선택/집중시킨 다음 "데이터 쓰기"버튼을 누를 때 장치의 자이로 스코프에서 출력 기울기/각도를 사용하여 필드를 완성하도록하는 것입니다. 나는 아마도 이것을 사용하여 수행 할 것입니다 selected_dimension_edittext.setText(gyro_value);

+0

을 유 만약, 선택한 editext에 너무 가고 무엇을 연구? 선택되었거나 포커스가 다음 편집 텍스트로 이동 한 후에들을 수 있습니까? – KOTIOS

+0

@DIVA 버튼과 자이로 스코프를 사용하여'x.setText(); '를 사용하여 값을 변경할 계획입니다. – JHinne

답변

0

당신은 글고이 같은 뷰의 ID로 초점이있는 알 수 있습니다

EditText edText1 = (EditText)findViewById(R.id.editText1); 
    EditText edText2 = (EditText)findViewById(R.id.editText2); 

    OnFocusChangeListener mFocusChangeListener = new OnFocusChangeListener() { 

     @Override 
     public void onFocusChange(View v, boolean hasFocus) { 
      // TODO Auto-generated method stub 
      if(hasFocus){ //Check if View has focus 
       switch (v.getId()){ 
        case R.id.editText1: { 
         //Code A 
        } break; 
        case R.id.editText2: { 
         //Code B 
        } break; 
       } 
      } 
     } 
    }; 

    edText1.setOnFocusChangeListener(mFocusChangeListener); 
    edText2.setOnFocusChangeListener(mFocusChangeListener); 
+0

네,이 작품! 이 방법은 램프 당 20 개의 치수가 있기 때문에 크기가 크지 만 완벽하게 작동합니다. – JHinne

+0

나는 그것이 당신을 위해 일해서 다행이다 : D – Bernas

0

editTexts가 ArrayList에 있으면 각 editText에 태그를 전달할 수 있습니다. 예를 들어 : - 글고 태그를 읽어 변경 또는 선택

for(int i=0;i<editTextList.size();i++){ 
    editTextList.get(i).setTag(i); 
} 

그런 다음 당신은 리스너 (> http://lecturesnippets.com/android-textchanged-listener-textwatcher/ textChangedListener 또는 TextWatcher)로 확인할 수 있습니다. editTextList를 반복하고 setText() - 메서드를 호출합니다. 편집 텍스트에 선택된 태그가있는 경우 메서드입니다.

+0

목록에 없습니다. 어떻게 할 수 있습니까? 현재 코드 내에서 초기화해야합니다. 선택된 부모 램프 스타일을 기반으로 동적입니다. 각 램프 유형에는 서로 다른 크기 세트가 연결되어 있습니다. – JHinne

+0

나는 당신이 원하는 것을 정확히 이해하지 못합니다. 제 편집 된 답변을 보시기 바랍니다 – Kewitschka

+0

OP를 (희망 적으로) 내가하려고하는 것에 대한 더 나은 설명으로 업데이트했습니다. – JHinne

관련 문제