【问题标题】:Phone app: item cannot be resolved or is not a field [duplicate]电话应用程序:项目无法解析或不是字段[重复]
【发布时间】:2013-09-13 14:04:07
【问题描述】:

我正在尝试遵循手册(其中有一些错误并已修复)但是我收到此错误 btstart cannot be resolved or is not a field 并且我不知道如何修复它。这是该手册的LINK(但我已经对布局和字符串 xml 文件进行了更改)这是 MainActivity.java 代码:

 package com.example.stopwatch;
//import com.example.stopwatch.R;
import android.R;
import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;

public class MainActivity extends Activity implements OnClickListener {
    private Button start;
    private Button stop;
    private Button reset;

    private Chronometer mydChronometer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        uI();
    }

    public void uI() {
        start = (Button) findViewById(R.id.btstart);
        start.setOnClickListener(this);
        stop = (Button) findViewById(R.id.btstop);
        stop.setOnClickListener(this);
        reset = (Button) findViewById(R.id.btreset);
        reset.setOnClickListener(this);
        mydChronometer = (Chronometer) findViewById(R.id.chronometer1);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public void onClick(View v) {
        if (v == start) {
            mydChronometer.start();

        } else if (v == stop) {

            mydChronometer.stop();
        } else if (v== reset) {
            mydChronometer.setBase(SystemClock.elapsedRealtime());

        }

    }

}

我的“activity_main.xml”来了:

<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/chronometer1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="67dp"
        android:src="@drawable/myd" />

    <Chronometer
        android:id="@+id/chronometer1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="28dp"
        android:gravity="center"
        android:text="Chronometer"
        android:textSize="35dp" />

    <Button
        android:id="@+id/btstart"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/imageView1"
        android:layout_below="@+id/chronometer1"
        android:layout_marginTop="18dp"
        android:text="@string/start" />

    <Button
        android:id="@+id/btreset"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/btstop"
        android:layout_alignBottom="@+id/btstop"
        android:layout_toRightOf="@+id/btstop"
        android:text="@string/reset" />

    <Button
        android:id="@+id/btstop"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/btstart"
        android:layout_alignBottom="@+id/btstart"
        android:layout_toRightOf="@+id/btstart"
        android:text="@string/stop" />

</RelativeLayout>

这是“strings.xml”文件:

    <?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">stopwatch</string>
    <string name="btn1">Start</string>
    <string name="btn2">Stop</string>
    <string name="btn3">Reset</string>
    <string name="menu_settings">Settings</string>
    <string name="action_settings">Settings</string>

</resources>

我没有对 main.xml 进行任何更改,这是我的 main.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/action_settings"/>

</menu>

能否请您告诉我我遗漏了什么以及此错误的解决方法是什么?

P.S.:我收到这些行的类似错误:

btstop cannot be resolved or is not a field in stop = (Button) findViewById(R.id.btstop);
btreset cannot be resolved or is not a field in reset = (Button) findViewById(R.id.btreset);
chronometer1 cannot be resolved or is not a field in mydChronometer = (Chronometer) findViewById(R.id.chronometer1);

非常感谢。

【问题讨论】:

  • 清理并重建您的应用程序。
  • @SotiriosDelimanolis 我现在清理了项目,并且 (Ctrl+B) (build all) 处于非活动状态,当我按下它时没有任何反应!我在这一行添加了这个新错误R cannot be resolved to a variable setContentView(R.layout.activity_main); 知道如何解决这些错误吗?

标签: java android xml android-layout sdk


【解决方案1】:

就像 Sotirios 说的,尝试清理项目,然后在 Project => 中取消选中自动清理,然后您就可以单独构建项目了。

【讨论】:

  • 感谢您的提示!清理项目后,我可以根据您的提示手动构建它!话虽如此,但我遇到了我在这一行setContentView(R.layout.activity_main); 中提到的activity_main cannot be resolved or is not a field 的问题,我还使用“Shift+Ctrl+O”来包含所有必要的库。我真的不知道出了什么问题,因为我已经检查了其他 Stackoverflow 链接中的所有可能解决方案。谢谢!
  • ResetStop 所以基本上没有这样的 string name="stop" 所以你的主。 xml 无法编译。
  • 我建议您仔细检查所有资源,如字符串、可绘制对象,确保您已正确包含它们的路径。
【解决方案2】:

请参阅此"id cannot be resolved or is not a field" error? 它可能会对您有所帮助。

看看你是否在导入android .R

这可能是错误

【讨论】:

  • 其实我看到了这个帖子,尝试了所有的解决方案,都没有帮助!
【解决方案3】:

R 未解析是 R.java 文件未自动生成的结果。

检查资源文件夹中的错误,因为这是 R.java 自动生成的基础。在我的情况下,在我的 AndroidManifest.xml 文件中,我必须从

更改其中一行
<application android:icon="@drawable/*icon"* android:label="@string/app_name">

<application android:icon="@drawable/*ic_launcher"* android:label="@string/app_name">

(即将@drawable/icon更改为resources(res)文件夹中.png文件的名称

【讨论】:

    猜你喜欢
    • 2012-01-26
    • 2022-01-09
    • 2014-02-28
    • 2014-03-27
    • 2014-01-05
    • 2016-05-20
    • 2016-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多