我所拥有的是两个文本视图,我想要做的是当我开始在其中一个中写入时,另一个将是不可见的,哪个工作正常,这是代码:
@Override
public void onFocusChange(View v, boolean hasFocus) {
textView2.setVisibility(View.INVISIBLE);
}
});
textView2.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
textView.setVisibility(View.INVISIBLE);
}
});
但问题是,我也要反过来..所以如果(textview)被隐藏,我点击它隐藏的区域,返回可见,另一个是隐形的, 我怎样才能做到这一点?有什么帮助吗?
答案 0 :(得分:0)
您可以通过检查第二个textview是否聚焦来显示/隐藏您的第一个textView:
textView2.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
textView.setVisibility(View.INVISIBLE);
} else {
textView.setVisibility(View.VISIBLE);
}
}
});
textView.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
textView2.setVisibility(View.INVISIBLE);
} else {
textView2.setVisibility(View.VISIBLE);
}
}
});
编辑:
View.OnClickListener clickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setVisibility(View.VISIBLE);
}
});
textView.setOnClickListener(clickListener);
textView2.setOnClickListener(clickListener);
答案 1 :(得分:0)
你可以这样做:
<LinearLayout
android:id="@+id/txt1"
android:layout_width="match_parent"
android:layout_height="30dp">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
<LinearLayout
android:id="@+id/txt2"
android:layout_width="match_parent"
android:layout_height="30dp" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:visibility="invisible" />
</LinearLayout>
第二个线性布局有它的区域。但是内部textView没有显示。所以你可以为它设置onClick。
LinearLayout l1 = (LinearLayout) findViewById(R.id.txt1);
final TextView textView2 = (TextView) findViewById(R.id.textView2);
l1.setOnClickListener(new OnClickListener(){
@override
public void onClick(View view){
textView2.setVisibility(View.VISIBLE);
}
});
答案 2 :(得分:0)
使用setVisibility()
方法执行此操作
//To make textView not visible
textView.setVisibility(View.GONE);
//To make textView visible
textView.setVisibility(View.VISIBLE);