Android onClick 단 추 를 누 르 면 이벤트 의 네 가지 상용 쓰기

4121 단어 androidonclick
여 기 는 네 가지 onClick 클릭 이 벤트 를 사용 하여 전화 뽑 기의 DEMO 를 실현 합 니 다.
XML 파일

<EditText 
 android:layout_width="match_parent" 
 android:layout_height="wrap_content" 
 android:inputType="phone" 
 android:ems="10" 
 android:id="@+id/et_number" 
 android:layout_alignParentTop="true" 
 android:layout_alignParentLeft="true" 
 android:layout_alignParentStart="true" /> 
<Button 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:text="@string/dial_number" 
 android:id="@+id/bt_dial" 
 android:layout_below="@id/et_number" 
 android:layout_alignRight="@id/et_number" 
 android:layout_alignEnd="@id/et_number" /> 
첫 번 째,익명 내부 클래스:

protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 setContentView(R.layout.activity_main); 
 Button bt_dial = (Button) findViewById(R.id.bt_dial); 
 bt_dial.setOnClickListener(new View.OnClickListener() { 
  @Override 
  public void onClick(View view) { 
   dialPhone(); 
  } 
 }); 
} 
두 번 째,사용자 정의 클릭 이벤트 감청 클래스:

protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_main); 
  et_number = (EditText) MainActivity.this.findViewById(R.id.et_number); 
  Button bt_dial = (Button) findViewById(R.id.bt_dial); 
  bt_dial.setOnClickListener(new MyListener()); 
 } 
 private class MyListener implements View.OnClickListener { 
 @Override 
 public void onClick(View view) { 
  dialPhone(); 
 } 
} 
세 번 째,Activity 계승 View.OnClickListener 는 Activity 에서 OnClick(View view)방법 을 실현 하고 OnClick(View view)방법 에서 switch-case 로 서로 다른 id 가 대표 하 는 button 에 대해 해당 하 는 처 리 를 한다.

public class MainActivity extends Activity implements View.OnClickListener { 
 EditText et_number; 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_main); 
  et_number = (EditText) MainActivity.this.findViewById(R.id.et_number); 
 Button bt_dial = (Button) findViewById(R.id.bt_dial); 
  bt_dial.setOnClickListener(this); 
 } 
 public void onClick(View view) { 
  switch (view.getId()){ 
   case R.id.bt_dial: 
    dialPhone(); 
    break; 
   default: 
    break; 
  } 
 } 
} 
네 번 째,XML 파일 에 지정 한 단추 의 onClick 속성 을 표시 합 니 다.단 추 를 누 르 면 Activity 의 click()방법 을 반사 적 으로 호출 합 니 다.

<Button 
  android:onClick="dialPhoneMethod" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="@string/dial_number" 
  android:id="@+id/bt_dial" 
  android:layout_below="@id/et_number" 
  android:layout_alignRight="@id/et_number" 
  android:layout_alignEnd="@id/et_number" /> 
public void dialPhoneMethod(View view){ 
 dialPhone(); 
} 
private void dialPhone() { 
 String number = et_number.getText().toString().trim(); 
 if (TextUtils.isEmpty(number)){ 
  Toast.makeText(this, "        ", Toast.LENGTH_LONG).show(); 
  return; 
 } 
 Intent intent = new Intent(); 
 intent.setAction(Intent.ACTION_CALL); 
 intent.setData(Uri.parse("tel:" + number)); 
 startActivity(intent); 
} 
요약:
네 번 째 쓰 기 는 전체 코드 에서 button 을 설명 하지 않 아 도 button 의 클릭 이 벤트 를 실현 할 수 있 습 니 다.그러나 일반적으로 이렇게 사용 하 는 것 을 추천 하지 않 는 다.세 번 째 방법 은 onClick 의 가장 좋 은 사용 방식 이다.버튼 이 적 을 때 익명 내부 클래스 를 사용 하 는 것 이 빠 릅 니 다.예 를 들 어 demo 테스트 를 쓸 때 입 니 다.
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!

좋은 웹페이지 즐겨찾기