電子書籍の厳選無料作品が豊富!

AndroidStudioでディスプレイ幅を取得するアプリを作成しているのですが ★の付いている行でエラーが出てしまいます。何が悪いのかわかる方がいらっしゃいましたら教えて頂けると幸いです。

参考にしたURL:http://blog.oukasoft.com/

状況
・setTextはintが使えないみたいなのでString.valueOf()を使っている。
・元々はdp.getHeight() と dp.getWidth()を使用していたが廃止されたメソッドみたいなのでgetSize(point)を代わりに使用している。

目的

Android端末のディスプレイの幅を取得しようとしている。

MainActivity.java ソースコード
--------------

import android.app.Activity;
import android.content.Intent;
import android.graphics.Point;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Display;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;

public class MainActivity extends Activity {
private WebView webView;
@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.layout_main);
Intent intent = new Intent(MainActivity.this,MyService.class);
MainActivity.this.startService(intent);
//setContentView(R.layout.layout_main); // main.xmlをセット
// Pointを生成
Point point = new Point();
// Display情報からサイズを取得する。
//disp .getSize(point);
int width = point.x;
int height = point.y;
WindowManager wm = (WindowManager)getSystemService(WINDOW_SERVICE);
Display dp = wm.getDefaultDisplay();
TextView tv = new TextView(this);
★tv.setText( "画面サイズ 縦:" + String.valueOf(dp.getSize(point)) + "横:" + String.valueOf(dp.getSize(point)) );
setContentView(tv);

findViews(); // Viewの読み込み
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.loadUrl("https://www.yahoo.co.jp/"); // サイトの読み込み
/*Button start = (Button)findViewById(R.id.start);
start.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent intent = new Intent(MainActivity.this,MyService.class);
MainActivity.this.startService(intent);
}
});*/
/*Button stop = (Button)findViewById(R.id.stop);
stop.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent intent = new Intent(MainActivity.this,MyService.class);
MainActivity.this.stopService(intent);
}
});*/
}
public void findViews() {
// main.xmlのwebviewのIDを取得し、
// WebViewActivityのWebViewクラスに関連付ける
webView = (WebView) findViewById(R.id.webview);
}
}

A 回答 (2件)

エラーの対処法を知りたい場合は、エラーメッセージやExceptionなどの情報も下さい。



https://developer.android.com/reference/android/ …
こちらのページを見るとgetWidth、getHeightメソッドも用意されているみたいですが
getWidth、getHeightでは問題ありますか。
    • good
    • 0

https://developer.android.com/reference/android/ …

dp.getSize()の戻り値はvoid型(つまり戻り値なし)なので、それを引数にするのはどうなんでしょう?
tv.setText()の前にgetSize()で取得して、point.xとpoint.yを数値=>数字変換するべきなのでは?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!