2012-04-04 2 views
0
안드로이드

에서 바로 옆의 편집 필드로하지 않을 것이 내 코드입니다 : 입력을 클릭하는 동안, 그 여기

uam.setOnKeyListener(new OnKeyListener() { 

       public boolean onKey(View view, int keyCode, KeyEvent event){ 
       if (event.getAction() == KeyEvent.ACTION_DOWN){ 
        switch (keyCode) 
        { 
        case KeyEvent.KEYCODE_DPAD_CENTER: 
        case KeyEvent.KEYCODE_ENTER: 
         if(((EditText)findViewById(view.getId())) == ((EditText)findViewById(R.id.UamEditTextFm))) 
         { 
          Log.d("setOnKeyListener","Uam To port"); 
         ((EditText) findViewById(R.id.PortAdvFm)).requestFocus(); 

         } 
         return true; 
        default: 
         break; 
        } 
       } 
       return false; 
       } 
      }); 

     port.setOnKeyListener(new OnKeyListener() { 
       public boolean onKey(View view, int keyCode, KeyEvent event){ 
       if (event.getAction() == KeyEvent.ACTION_DOWN){ 
        switch (keyCode) 
        { 
        case KeyEvent.KEYCODE_DPAD_CENTER: 
        case KeyEvent.KEYCODE_ENTER: 
         if(((EditText)findViewById(view.getId())) == ((EditText)findViewById(R.id.PortAdvFm))) 
         { 
          Log.d("setOnKeyListener","Port To ConType"); 
          ((EditText) findViewById(R.id.ConTypeAdvFm)).requestFocus(); 
         } 
         return true; 
        default: 
         break; 
        } 
       } 
       return false; 
       } 
      }); 

     connectType.setOnKeyListener(new OnKeyListener() { 
       public boolean onKey(View view, int keyCode, KeyEvent event){ 
       if (event.getAction() == KeyEvent.ACTION_DOWN){ 
        switch (keyCode) 
        { 
        case KeyEvent.KEYCODE_DPAD_CENTER: 
        case KeyEvent.KEYCODE_ENTER: 
         if(((EditText)findViewById(view.getId())) == ((EditText)findViewById(R.id.ConTypeAdvFm))) 
         { 
          Log.d("setOnKeyListener","ConType To saveBtn "); 
         ((Button) findViewById(R.id.SaveAdvSettingofFm)).requestFocus(); 
         ((Button) findViewById(R.id.SaveAdvSettingofFm)).performClick(); 
         } 
         return true; 
        default: 
         break; 
        } 
       } 
       return false; 
       } 
      }); 

클릭이 port에 초점을 두지 입력하지만, 초점은 connectType 필드로 이동합니다. 도와주세요. XML 파일은 다음과 같습니다

<TableLayout android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <TableRow android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:orientation="horizontal"> 
     <TextView android:text="UAM:" /> 
     <EditText android:id="@+id/UamEditTextFm" android:singleLine="true" android:inputType="textPersonName" 
      android:layout_width="fill_parent" android:layout_height="wrap_content" 
      android:autoText="true" /> 
    </TableRow> 

    <TableRow android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:orientation="horizontal"> 
     <TextView android:text="Port:" /> 

     <EditText android:layout_height="wrap_content" android:singleLine="true" android:inputType="textPersonName" 
      android:layout_width="fill_parent" 
      android:id="@+id/PortAdvFm" /> 

    </TableRow> 
    <TableRow android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:orientation="horizontal"> 
     <TextView android:text="ConType:" /> 

     <EditText android:layout_height="wrap_content" android:singleLine="true" android:inputType="textPersonName" 
      android:layout_width="fill_parent" 
      android:id="@+id/ConTypeAdvFm" /> 

    </TableRow> 
</TableLayout> 

<Button android:id="@+id/SaveAdvSettingofFm" android:text="Save" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" android:layout_gravity="right" android:layout_margin="5dp"/> 

+0

이'((글고) findViewById를 (R.id.PortAdvFm))를이 줄을 추가합니다. setFocusable (true); (EditText) findViewById (R.id.PortAdvFm)). setFocusableInTouchMode (true); ' –

+0

나는이 코드를 이미 사용했지만 작동하지 않습니다. –

답변

0

추가하여 편집 텍스트 XML 태그

android:inputType="textPersonName" 
+0

그것의 작동하지 않습니다 ... –

+0

당신이 원하는대로 편집 텍스트가 입력 컨트롤로 이동 입력을 누르면 ?? – vipin

+0

xml을주세요. – vipin

관련 문제