【发布时间】:2015-02-06 05:56:02
【问题描述】:
我是安卓初学者。
我的情景
我有一个有 2 个按钮的屏幕 A 按钮 A 按钮 B。
当我打开我的应用程序屏幕 A 时会打开上面的 2 个按钮,当我单击按钮 B 时会显示一个文本视图并显示 Edittext。
我想要什么?
当按下返回按钮时,textview 和 edittext 应该隐藏,当我再次按下返回时,我应该退出屏幕 A。
到目前为止我尝试了什么?
下面的代码是否符合我的要求?
主要活动.xml
import android.support.v7.app.ActionBarActivity;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener {
TextView title;
EditText userinput;
Button buttonA,buttonB;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initialize();
}
private void initialize() {
userinput = (EditText)findViewById(R.id.userinput);
title = (TextView)findViewById(R.id.title);
buttonA = (Button)findViewById(R.id.buttonA);
buttonB = (Button)findViewById(R.id.buttonB);
buttonA.setOnClickListener(this);
buttonB.setOnClickListener(this);
}
@Override
public void onBackPressed() {
title.setVisibility(View.INVISIBLE);
userinput.setVisibility(View.INVISIBLE);
}
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.buttonA:
break;
case R.id.buttonB:
title.setVisibility(View.VISIBLE);
userinput.setVisibility(View.VISIBLE);
break;
}
}
}
【问题讨论】:
-
如果您需要我的 xml 代码,请告诉我
-
你不能只添加一个布尔值吗?字段隐藏=假;当您隐藏字段时,请在 onBackPressed 中设置为 true if(fieldshidden){bla bla}
-
@Bart Hofma :- 是的,你的解决方案是解决这个问题的最简单方法
-
@OP:如果您使用 [Fragments](developer.android.com/guide/components/fragments.html),那么您可以将
title和userinput添加到 Fragment。当您使该片段可见时,将该事务添加到 backstack,您尝试实现的目标将像魔术一样工作!