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