Android 如何以编程方式隐藏Imageview
我有一个带有三个图标的线性布局,如下所示Android 如何以编程方式隐藏Imageview,android,Android,我有一个带有三个图标的线性布局,如下所示 <ImageView android:id="@+id/cities" android:layout_width="wrap_content" android:layout_height="wrap_content android:src="@drawable/city" /> <ImageView
<ImageView
android:id="@+id/cities"
android:layout_width="wrap_content"
android:layout_height="wrap_content
android:src="@drawable/city" />
<ImageView
android:id="@+id/red"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/red"
android:visibility="gone"
/>
<ImageView
android:id="@+id/deal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/deal" />
您应该将ImageView详细信息对象设置为类变量,以便您的侦听器以后可以访问它。试试这个
ImageView details;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fyelogin);
etPassword = (EditText)findViewById(R.id.password);
btnLogin = (Button)findViewById(R.id.login_button);
btnCancel = (Button)findViewById(R.id.cancel_button);
lblResult = (TextView)findViewById(R.id.result);
details = (ImageView)findViewById(R.id.red);
btnLogin.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String password = etPassword.getText().toString();
if(password.equals("guest")){
lblResult.setText("password successful.");
details.setVisibility(View.VISIBLE);
} else {
lblResult.setText("password doesn't match.");
}
finish();} });
您得到的错误是什么?强制关闭…在第行显示错误:details.setVisibility(View.VISIBLE);请在logcat中发布你得到的stacktrace。下面是日志:Dude这是一个编译器错误,请用OOP语言复习你的基础知识可能只是你的副本有问题,但缺少一个“对于城市图像视图的布局高度是的,这是复制时的一个错误。我的问题可能只是尝试清理项目,然后再试一次。如果您可以更新问题或链接到完整的代码和XML,我们可能能够找到问题。
ImageView details;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fyelogin);
etPassword = (EditText)findViewById(R.id.password);
btnLogin = (Button)findViewById(R.id.login_button);
btnCancel = (Button)findViewById(R.id.cancel_button);
lblResult = (TextView)findViewById(R.id.result);
details = (ImageView)findViewById(R.id.red);
btnLogin.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String password = etPassword.getText().toString();
if(password.equals("guest")){
lblResult.setText("password successful.");
details.setVisibility(View.VISIBLE);
} else {
lblResult.setText("password doesn't match.");
}
finish();} });