我已经阅读了类似的问题和答案,但我很难理解因为我是Android开发的新手。
这句话给了我一个ANR:
EditText text = (EditText) findViewById(R.id.name_field);
我将此声明称为不是来自主要活动,而是来自我创建的第二个活动。对我来说,它尖叫着范围问题。有人可以为我提供一些智慧吗?我没有任何特别的意图(或其他任何事情)。
GameOverActivity.java:
public class GameOverActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game_over);
// Show the Up button in the action bar.
setupActionBar();
}
/**
* Set up the {@link android.app.ActionBar}, if the API is available.
*/
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void setupActionBar()
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
{
getActionBar().setDisplayHomeAsUpEnabled(true);
}
}
public void yesResponse(View pView)
{
EditText text = (EditText) findViewById(R.id.name_field);
//Button addButton = (Button) findViewById(R.id.add_button);
//text.setVisibility(0);
//addButton.setVisibility(0);
}
}
MainActivity.java的调用方法:
public void checkTheBox()
{
CheckBox tempBox;
switch(boxNumberChecked)
{
case 0:
{
tempBox = (CheckBox) findViewById(R.id.checkBox1);
tempBox.setChecked(true);
break;
}
case 1:
{
tempBox = (CheckBox) findViewById(R.id.checkBox2);
tempBox.setChecked(true);
break;
}
case 2: // intentionally falls through
default:
{
tempBox = (CheckBox) findViewById(R.id.checkBox3);
tempBox.setChecked(true);
**Intent intent = new Intent(this, GameOverActivity.class);
startActivity(intent);**
break;
}
}
boxNumberChecked++;
}