質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

解決済

setContentView(R.layout.activity_main); の R に、Cannot resolve symbol 'R'となります。

edoooooo
edoooooo

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

2回答

0評価

0クリップ

4782閲覧

投稿2016/12/01 11:53

編集2022/01/12 10:58

setContentView(R.layout.activity_main); の R に、Cannot resolve symbol 'R'となります。

java

package com.example.android.sample.calculator; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }

どうすれば良いのでしょうか? 教えていただけないでしょうか?

エラーが5つ出ているdebug/AndroidManifest.xmlです。(AndroidManifest.xmlにはエラーはでていません。)

java

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.sample.calculator" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="24" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" > <activity android:name="com.example.android.sample.calculator.MainActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

上のdebug/Manifest.mlxのエラー部分だけをカーソルを合わせた時に出てくるエラーとセットでまとめました。

java

<manifest xmlns:android="http://schemas.android.com/apk/res/android" //ここには、URI is not registered(Settings|Project Settings|Schemas and DTDsがでます。 android:versionCode="1" //これには、Attribute android:versionCode is not allowed hereがでます。 android:versionName="1.0" > //これには、Attribute android:versionName is not allowed hereがでます。 android:allowBackup="true" //これには、Attribute android:allowBackup is not allowed hereがでます。 android:icon="@mipmap/ic_launcher" //これには、Attribute android:icon is not allowed hereがでます。 android:supportsRtl="true" //これには、Attribute android:supportsRtl is not allowed hereがでます。 android:theme="@style/AppTheme" > //これには、Attribute android:theme is not allowed hereがでます。

MainActivityです。```java
package com.example.android.sample.calculator;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.View;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements TextWatcher, View.OnClickListener{

//上の計算ボタンを押した時のリクエストコード private static final int REQUEST_CODE_ANOTHER_CALC_1=1; //上の計算ボタンを押した時のリクエストコード private static final int REQUEST_CODE_ANOTHER_CALC_2=2; //上のEditText private EditText numberInput1; //下のEditText private EditText numberInput2; //演算子選択用のSpinner private Spinner operatorSelector; //計算結果表示用のTextView private TextView calcResult; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //上のEditText numberInput1=(EditText)findViewById(R.id.numberInput); //上のEditTextの文字入力イベントを受け取る numberInput1.addTextChangedListener(this); //下のEditText numberInput2=(EditText)findViewById(R.id.numberInput2); //下のEditTextの文字入力を受け取る numberInput2.addTextChangedListener(this); //演算子選択用のSpinner operatorSelector=(Spinner)findViewById(R.id.operatorSelector); //計算結果表示用のTextView calcResult=(TextView)findViewById(R.id.calcResult); //上の計算ボタン findViewById(R.id.calcButton1).setOnClickListener(this); //下の計算ボタン findViewById(R.id.calcButton2).setOnClickListener(this); //続けて計算するボタン findViewById(R.id.nextoButton).setOnClickListener(this); } @Override public void onClick(View v){ //タップされた時の処理を実装する int id=v.getId(); //IDごとに違う switch(id){ case R.id.calcButton1: //上の計算ボタンかが押された時の処理 Intent intent1=new Intent(this,AnotherCalcActivity.class); startActivityForResult(intent1,REQUEST_CODE_ANOTHER_CALC_1); break; case R.id.calcButton2: //下の計算ボタンが押された時の処理 Intent intent2=new Intent(this,AnotherCalcActivity.class); startActivityForResult(intent2,REQUEST_CODE_ANOTHER_CALC_2); break; case R.id.nextButton: //続けて計算するボタンが押された時の処理 //両方のEditTextに値が設定されていれば、処理を行う if(checkEditTextInput()){ //計算する int result=calc(); //上のEditTextの値を書き換える numberInput1.setText(String.valueOf(result)); //計算し直して、画面を更新する refreshResult(); } break; } } @Override protected void onActivityResult(int requestCode,int resultCode,Intent data){ //startActivityResult()から戻ってきた時に呼ばれる super.onActivityResult(requestCode,resultCode,data); //結果がOKではない場合は何もしない if(resultCode !=RESULT_OK)return; //結果データセットを取り出す Bundle resultBundle=data.getExtras(); //結果データセットに、所定のキーが含まれていない場合、何もしない if(!resultBundle.containsKey("result"))return; //結果データから、"result"キーに対応するint値を取り出す。 int result=resultBundle.getInt("result"); if(requestCode == REQUEST_CODE_ANOTHER_CALC_1) { //上の計算ボタンを押した後戻ってきた場合 numberInput1.setText(String.valueOf(result)); }else if(requestCode==REQUEST_CODE_ANOTHER_CALC_2){ //下の計算ボタンを押した後戻ってきた場合 numberInput2.setText(String.valueOf(result)); } //計算をしなおして、結果を表示する refreshResult(); } //2つのEditTextに入力がされているかをチェックする private boolean checkEditTextInput(){ //入力内容を取得する String input1=numberInput1.getText().toString(); String input2=numberInput2.getText().toString(); //2つともから文字列(あるいはnull)でなければ、true return !TextUtils.isEmpty(input1)&& !TextUtils.isEmpty(input2); } @Override public void beforeTextChanged(CharSequence s,int start,int count,int after){ //テキストが変更される直前に呼ばれる。Sは変更前の内容 } @Override public void onTextChanged(CharSequence s,int start,int before,int count){ //テキストが変更される時に呼ばれる。sは変更後の内容で編集不可 } @Override public void afterTextChanged(Editable s){ //テキストが変更された後に呼ばれる。sは変更後の内容で編集可能 //必要があれば、計算を行い、結果を表示する refreshResult(); } //計算結果の表示を更新する private void refreshResult(){ if(checkEditTextInput()) { //計算を行う int result = calc(); //計算結果用のTextVieを書き換える String resultText = getString(R.string.calc_result_text, result); calcResult.setText(resultText); }else{ //どちらかが入力されていない状態の場合、計算結果用の表示をデフォルトに戻す calcResult.setText(R.string.calc_result_default); } } //計算を行う private int calc(){ //入力内容を取得する String input1=numberInput1.getText().toString(); String input2=numberInput2.getText().toString(); //int型に変換する int number1=Integer.parseInt(input1); int number2=Integer.parseInt(input2); //Spinnerから、洗濯中のindexを取得する int operator=operatorSelector.getSelectedItemPosition(); //indexに応じて計算結果を返す switch(operator){ case 0://足し算 return number1+number2; case 1://引き算 return number1-number2; case 2://掛け算 return number1*number2; case 3://割り算 return number1/number2; default: //通常発生しない throw new RuntimeException(); } }

}

どうぞよろしくお願いします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。