Java android SDK错误(BNR)

Java android SDK错误(BNR),java,android,android-fragments,Java,Android,Android Fragments,嘿,伙计们,我正在努力学习Android SDK,我买了比尔·菲利普斯和布赖恩·哈迪写的《农场上的大书呆子》一书,但我被困在第9章,到处都是我无法解决的错误。我这里有5个错误,他们都说‘无法解析(符号)’。所有这些符号都存在于我的程序中,所以我不明白为什么它找不到它们。这是我的主类CrimeListFragment.java。代码有点长,但我用注释标记了所有错误出现的位置(可能需要向右滚动) CrimeListFragment.java package criminalintent.androi

嘿,伙计们,我正在努力学习Android SDK,我买了比尔·菲利普斯和布赖恩·哈迪写的《农场上的大书呆子》一书,但我被困在第9章,到处都是我无法解决的错误。我这里有5个错误,他们都说‘无法解析(符号)’。所有这些符号都存在于我的程序中,所以我不明白为什么它找不到它们。这是我的主类CrimeListFragment.java。代码有点长,但我用注释标记了所有错误出现的位置(可能需要向右滚动)

CrimeListFragment.java

package criminalintent.android.bignerdranch.com.criminalintent;

import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.R;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.ListView;
import android.widget.TextView;

import java.util.ArrayList;

/**
 * Created by Matt on 7/28/2014.
 */
public class CrimeListFragment extends ListFragment {
    private ArrayList<Crime> mCrimes;
    private static final String TAG = "CrimeListFragment";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getActivity().setTitle(R.string.crime_title); //ERROR here 'crime_title'
        mCrimes = CrimeLab.get(getActivity()).getCrimes();
        CrimeAdapter adapter = new CrimeAdapter(mCrimes);
        setListAdapter(adapter);

    }

    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {
        Crime c = ((CrimeAdapter)getListAdapter()).getItem(position);
        Log.d(TAG, c.getTitle() + " was clicked");
    }

    private class CrimeAdapter extends ArrayAdapter<Crime> {

        public CrimeAdapter(ArrayList<Crime> crimes) {
            super(getActivity(), 0, crimes);
        }

        @Override
        public View getView(int position, View convertView, ViewGroup part) {
            //If we werent given a view, inflate one
            if(convertView == null) {
                convertView = getActivity().getLayoutInflater()
                        .inflate(R.layout.list_item_crime,null);//ERROR 'list_item_crime'
            }

            //Configure the view for this Crime
            Crime c = getItem(position);

            TextView titleTextView = (TextView)convertView.findViewById(R.id.crime_list_item_titleTextView);//ERROR 'crime_list_item_titleTextView'
            titleTextView.setText(c.getTitle());
            TextView dateTextView = (TextView)convertView.findViewById(R.id.crime_list_item_dateTextView);//ERROR 'crime_list_item_dateTextView'
            dateTextView.setText(c.getDate().toString());
            CheckBox solvedCheckBox = (CheckBox)convertView.findViewById(R.id.crime_list_item_solvedCheckBox);//ERROR 'crime_list_item_solvedCheckBox'
            solvedCheckBox.setChecked(c.isSolved());

            return convertView;
        }
    }
}
package-criminantent.android.bignerdranch.com.criminantent;
导入android.os.Bundle;
导入android.support.v4.app.ListFragment;
导入android.R;
导入android.util.Log;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.CheckBox;
导入android.widget.ListView;
导入android.widget.TextView;
导入java.util.ArrayList;
/**
*马特于2014年7月28日创作。
*/
公共类CrimeListFragment扩展了ListFragment{
私人ArrayList mCrimes;
私有静态最终字符串标记=“CrimeListFragment”;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
getActivity().setTitle(R.string.crime_title);//此处的错误“crime_title”
mCrimes=CrimeLab.get(getActivity()).getCrimes();
CrimeAdapter适配器=新的CrimeAdapter(mCrimes);
setListAdapter(适配器);
}
@凌驾
public void onListItemClick(列表视图l、视图v、整数位置、长id){
犯罪c=((CrimeAdapter)getListAdapter()).getItem(位置);
Log.d(已单击标记c.getTitle()+);
}
私有类CrimeAdapter扩展了ArrayAdapter{
公共犯罪调查报告(ArrayList犯罪){
super(getActivity(),0,crimes);
}
@凌驾
公共视图getView(内部位置、视图转换视图、视图组零件){
//如果没有给我们一个视图,就给它充气
if(convertView==null){
convertView=getActivity().GetLayoutFlater()
.inflate(R.layout.list_item_crime,null);//错误'list_item_crime'
}
//为此罪行配置视图
犯罪c=获取物品(位置);
TextView titleTextView=(TextView)convertView.findViewById(R.id.crime\u list\u item\u titleTextView);//错误'crime\u list\u item\u titleTextView'
titleTextView.setText(c.getTitle());
TextView dateTextView=(TextView)convertView.findViewById(R.id.crime\u list\u item\u dateTextView);//错误“crime\u list\u item\u dateTextView”
dateTextView.setText(c.getDate().toString());
复选框solvedCheckBox=(复选框)convertView.findViewById(R.id.crime_list_item_solvedCheckBox);//错误'crime_list_item_solvedCheckBox'
setChecked(c.isSolved());
返回视图;
}
}
}
这是我的strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">CriminalIntent</string>
    <string name="title_activity_crime">CrimeActivity</string>
    <string name="crime_title_hint">Enter a title for this crime</string>
    <string name="crime_title_label">Title</string>
    <string name="crime_details_label">Details</string>
    <string name="crime_solved_label">Solved?</string>
    <string name="crime_title">Crimes</string>

</resources>

犯罪意图
犯罪性
输入此罪行的标题
标题
细节
解决了的?
犯罪
并列出_item _crime.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/crime_list_item_solvedCheckBox"
        android:gravity="center"
        android:layout_alignParentRight="true"
        android:enabled="false"
        android:padding="4dp"
        android:focusable="false"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/crime_list_item_titleTextView"
        android:layout_toLeftOf="@id/crime_list_item_solvedCheckBox"
        android:textStyle="bold"
        android:paddingLeft="4dp"
        android:paddingRight="4dp"
        android:text="Crime title"
        />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/crime_list_item_dateTextView"
        android:layout_below="@id/crime_list_item_titleTextView"
        android:layout_toLeftOf="@id/crime_list_item_solvedCheckBox"
        android:paddingLeft="4dp"
        android:paddingRight="4dp"
        android:paddingTop="4dp"
        android:text="Crime date"/>
</RelativeLayout>


如果你需要更多的资源,请告诉我。谢谢您的帮助。

您输入的
R
错误(
import android.R;
)。删除那一行并导入属于您的项目的那一行

您是对的blackbelt,我的fragment_crime.xml中确实有一个错误。我有一个宽度和一个宽度的布局。在我删除一个后,它修复了R错误,我不需要导入任何东西。感谢您的帮助。

您所说的“属于您的项目”是什么意思?我的项目在查找R时遇到了问题,我上网查看了一篇文章,其中告诉我“导入android.R”,所以我这样做了,它解决了我的R问题,然后这些问题就出现了。R是在编译时生成的。如果您无法导入youtpack.R,可能意味着您在res/folder中有错误您是指包含Android清单、drawable、layout、strings.xml等的文件夹。。。?我没有错误。我如何计算我的包名?