因此,我尝试重命名文件,并且一直说“该进程无法访问该文件,因为该文件正在被另一个进程使用。” 但是我知道它没有被其他进程使用,所以我不确定发生了什么。这是我的代码
while self.fileSet.hasMoreFiles():
file = self.fileSet.nextFile()
periodIndex=file.find(".")
extension = file[periodIndex:]
baseName=file[:periodIndex]
self.newFile=open(file, 'w+')
self.backupName = baseName + "_bak" + extension
os.rename(file, baseName + "_bak" + extension)
self.newFile=open(file, 'w+')
self.writeNew()
Run Code Online (Sandbox Code Playgroud) 所以我有一个非常基本的布局,在屏幕的顶部有一个EditText和一个Button.当有人点击按钮时,EditText输入将保存到文本视图中,然后隐藏EditText以及按钮.这是我的代码:
public void setName(View view){
EditText editText = (EditText) findViewById(R.id.getUserName);
Button button = (Button) findViewById(R.id.setName);
TextView textView = (TextView) findViewById(R.id.displayName);
playerName = editText.getText().toString();
textView.setText(playerName);
editText.setVisibility(View.GONE);
button.setVisibility(View.GONE);
textView.setTextSize(40);
textView.setVisibility(View.VISIBLE);
}
Run Code Online (Sandbox Code Playgroud)
好吧,当屏幕旋转时,再次调用onCreate,如下所示:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_score_keeper);
// Identifies a textView
TextView textView = (TextView) findViewById(R.id.displayName);
// Hide that textView until later
textView.setVisibility(View.GONE);
// Set player name to default value
playerName = "Player Name";
// Set score to default value
score = 0;
}
Run Code Online (Sandbox Code Playgroud)
这个问题是它丢失了我隐藏EditText和Button的事实,并且还再次隐藏了TextView.
如何保持所有这些属性相同?(例如,保持文本相同,文本大小,视图的可见性等); 是否可以使用onSaveInstanceState?
多谢你们.
OSFTW
所以我正在使用动态分配的数组,并且我将它设置为保存5个元素,因此应该是0-4.我做了一个函数来保留它,如果有必要,但我想看看当我在[5]为数组赋值时,我是否得到程序崩溃.但是,没有错误,直到[6].
这是我的代码:
int* dynamic_arr;
dynamic_arr = new int[5];
for(int i = 0; i <= 100; i++){
dynamic_arr[i] = i;
used++;
cout << dynamic_arr[i]<<endl;
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
0 //i[0]
1 //i[1]
2 //i[2]
3 //i[3]
4 //i[4]
5 //i[5] <-- should be out of range
Run Code Online (Sandbox Code Playgroud)
之后它崩溃了.
为什么我能够为数组的一部分分配一个值,因为缺少一个更好的术语?
谢谢
OpSrcFTW
编辑:感谢答案,谢谢.我会在下次发布快速回答之前阅读更多内容,抱歉.
现在我有一个id为"getUserName"的EditText和一个旁边的按钮(都在线性视图中),id为"setName"我希望有人能够点击setName,并让EditText字段消失,按钮消失,和TextView取而代之.这是我到目前为止所拥有的:
public void setName(View view){
EditText editText = (EditText) findViewById(R.id.getUserName);
Button button = (Button) findViewById(R.id.setName);
TextView textView = (TextView) findViewById(R.id.displayName);
String playerName = editText.getText().toString();
((ViewManager)editText.getParent()).removeView(editText);
((ViewManager)button.getParent()).removeView(button);
Log.d("ScoreKeeper", playerName);
}
Run Code Online (Sandbox Code Playgroud)
所以我成功地从屏幕上删除了所需的元素,但我不知道如何添加textView来取代它们.
我怎样才能做到这一点?我是Android的新手,所以如果这看起来无知,请原谅我.我试过看了!
谢谢
OPSRCFTW