当我启动应用程序时,按钮工作.每次旋转手机时,都会调用onConfigurationChanged.但是按下按钮后不再调用onClick.我该如何解决这个问题?提前致谢.
PS:实际的程序是一个有很多按钮的计算器.
package com.thomas.test.app;
import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity implements View.OnClickListener
{
Button button1;
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE)
setContentView(R.layout.activity_main_h);
else if (newConfig.orientation==Configuration.ORIENTATION_PORTRAIT)
setContentView(R.layout.activity_main_v);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_v);
button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(this);
}
@Override
public void onClick(View view) {
Log.d("XYZ", "onClick: IN");
if (view.getId()==R.id.button1)
button1.setText("PRESSED");
}
}
Run Code Online (Sandbox Code Playgroud)
这是activity_main_h.xml(activity_main_v除了显示"vertical"之外是相同的):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.thomas.test.app.MainActivity">
<TextView
android:text="horizontal"
android:layout_width="wrap_content" …Run Code Online (Sandbox Code Playgroud) 此代码无法在最后一行运行.我不知道为什么.
var Vehicle = function() {
var age = 21; //private variable
this.setAge = function(age2) {age = age2;};
this.getAge = function() {return age;};
};
var Plane = function() {};
Plane.prototype = Object.create(Vehicle.prototype);
var plane = new Plane();
console.log( plane instanceof Vehicle );
//console.log( plane.getAge() ); //TypeError: plane.getAge is not a functionRun Code Online (Sandbox Code Playgroud)
getString和String.valueOf有什么区别?
在我的例子中,我在strings.xml中声明了"bgDefault":
<string name="bgDefault">#0C090A</string>
我可以打印出这个值Log.d("xyz", R.color.bgDefault);也有效:getString(R.color.bgDefault)但为什么不起作用String.valueOf(R.color.bgDefault)呢?