단추의 onclick 이벤트 다음에 button 및 textview가있는 선형 레이아웃의 내용을 editText type = "phone"으로 바꾸려고합니다. 그들은 모두 같은 페이지에 있습니다.onclick 버튼의 선형 레이아웃 내용 바꾸기 android
할 방법이 있습니까?
단추의 onclick 이벤트 다음에 button 및 textview가있는 선형 레이아웃의 내용을 editText type = "phone"으로 바꾸려고합니다. 그들은 모두 같은 페이지에 있습니다.onclick 버튼의 선형 레이아웃 내용 바꾸기 android
할 방법이 있습니까?
조각을 두 개 만들어 조각 트랜잭션을 사용하여 다른 조각으로 바꿔야합니다.
는 fragmenttransactions를 참조하십시오 http://developer.android.com/reference/android/app/FragmentTransaction.html
를 사용하여 다음 코드는 모든 뷰를 제거 할 수 있습니다.
lauout.removeAllViews();
나는 당신의 질문에서 이해할 수있는 일
1) 3 뷰 버튼, 텍스트 뷰와 글고 하나에있는 LinearLayout이 같이
가 있습니다 :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click Button" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My TextView " />
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone" // with input type phone
android:visibility="gone" />
</LinearLayout>
그리고 당신이 원하는 textview를 제거하고 버튼의 텍스트 편집으로 바꿉니다. like this
tv=(TextView)findViewById(R.id.textView1);
et=(EditText)findViewById(R.id.editText1);
Button b=(Button)findViewById(R.id.button1);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
tv.setVisibility(View.GONE);
et.setVisibility(View.VISIBLE);
}
});
죄송합니다. 질문에 대한 오해. –
한 장소 xml_layout의 레이아웃에 세 가지 요소 모두 및 클릭하면 다음 "gone"
에 EditText
가시성을 설정은 Button
당신은 설정 한 Button
및 "gone"
에 TextView
가시성과 "visible"
에 EditText
가시성 :
<LinearLayout android:id="@+id/layout"
.
.
.>
<Button android:id="@+id/button"
.
.
.
android:visibility="visible"/>
<TextView android:id="@+id/text"
.
.
.
android:visibility="visible"/>
<EditText android:id="@+id/edit_text"
.
.
.
android:inputType="phone"
android:visibility="gone"/>
</LinearLayout>
이 버튼을 클릭하면 :
public OnClickListener onButClick = new OnClickListener() {
@Override
public void onClick(View v) {
button.setVisibility(View.GONE);
text.setVisibility(View.GONE);
text_view.setVisibility(View.VISIBLE);
}
};
있는 LinearLayout는 방법이있다 그것으로부터 모든 요소를 지우고, 그 후에 당신은 새로운 뷰를 프로그램 적으로 추가 할 수 있어야한다. –
나는 당신의 질문에서 이해, 그냥 EditText의 "편집 가능한"속성을 가지고 놀고 당신이 원하는 것을 얻을 수 있습니다. 다음 링크를 클릭하십시오 : http://stackoverflow.com/questions/660151/how-to-replicate-androideditable-false-in-code 참고 : 다른 텍스트보기, 하나의 편집 텍스트는 여기에서 완벽하게 작동 할 필요가 없습니다. – Manish