オリエンテーションが変わったときにレイアウトを変更しようとしています。これは私が持っているコードです:私はこのエラーを取得するラインオリエンテーションが変わったときにレイアウトを変更する
public void onCreate(Bundle savedInstanceState) {
で
package com.wish.list;
import com.wish.list.R;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.OrientationEventListener;
import android.view.WindowManager;
import android.widget.ListView;
public class ListOfLists extends Activity{
public void onCreate(Bundle savedInstanceState) {
// Orientation Change starts here:
private void setContentBasedOnLayout()
WindowManager winMan = (WindowManager) getBaseContext().getSystemService(Context.WINDOW_SERVICE);
if (winMan != null)
{
int orientation = winMan.getDefaultDisplay().getOrientation();
if (orientation == 0) {
// Portrait
setContentView(R.layout.listsportrait);
}
else if (orientation == 1) {
// Landscape
setContentView(R.layout.listslandscape);
}
}
}
// End of Orientation Change
ListView listsList = (ListView) findViewById(R.id.lists);
}
}
}
:この行で
「複数のマーカー:
- 構文エラーを、 "}"を挿入してMethodBodyを完成させる
は - 」
をandroid.app.Activity.onCreateが上書きされます。また、それはオリエンテーションの変化に活動を再起動する必要はありませんので、それを変更する方法はありますか?私はFacebookがアプリの開始時にユーザのログインの詳細をチェックし、オリエンテーションが変わるたびにそれを再チェックしなければならない。
EDIT:
ので、コードは次のようになりますか?
package com.wish.list;
import com.wish.list.R;
import android.app.Activity;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.OrientationEventListener;
import android.view.WindowManager;
import android.widget.ListView;
public class ListOfLists extends Activity{
public void onCreate(Bundle savedInstanceState) {
}
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
setContentView(R.layout.listslandscape);
}
else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT)
{
setContentView(R.layout.listsportrait);
}
}
// Orientation Change starts here:
private void setContentBasedOnLayout(){
WindowManager winMan = (WindowManager)getBaseContext().getSystemService(Context.WINDOW_SERVICE);
if (winMan != null)
{
int orientation = winMan.getDefaultDisplay().getOrientation();
if (orientation == 0) {
// Portrait
setContentView(R.layout.listsportrait);
}
else if (orientation == 1) {
// Landscape
setContentView(R.layout.listslandscape);
}
}
// End of Orientation Change
ListView listsList = (ListView) findViewById(R.id.lists);
}
}
または私はsetContentBasedOnLayoutセクションを削除し、onConfigurationChangedのコードに置き換えますか?マニフェストでのonCreate
後
質問/新規コード付き編集OP – Cole
@コールあなたは私の答えを見たことがありますか? – dreamtale