我无法解决所有RecyclerView上的符号错误。到底是怎么回事?因为我在RecyclerView上有错误,所以我在LayoutManager上也有错误。我的最后四个覆盖声明是在错误的地方,我不知道他们去哪里。我是初学者,对编程有非常基本的了解,所以我不知道如何解决这个问题。我正在上课,但教授根本没有帮助。
package com.bignerdranch.android.criminalintent;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;
import java.util.List;
public class CrimeListFragment extends Fragment {
private RecyclerView mCrimeRecyclerView;
private CrimeAdapter mAdapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_crime_list, container, false);
mCrimeRecyclerView = (RecyclerView) view
.findViewById(R.id.crime_recycler_view);
mCrimeRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
return view;
}
@Override
public void onResume() {
super.onResume();
updateUI();
}
private void updateUI(){
CrimeLab crimeLab = CrimeLab.get(getActivity());
List<Crime> crimes = crimeLab.getCrimes();
if (mAdapter == null) {
mAdapter = new CrimeAdapter(crimes);
mCrimeRecyclerView.setAdapter(mAdapter);
} else {
mAdapter.notifyDataSetChanged();
}
}
private class CrimeAdapter extends RecyclerView.Adapter<CrimeHolder> {
private List<Crime> mCrimes;
public CrimeAdapter(List<Crime> crimes) {
mCrimes = crimes;
}
}
private class CrimeHolder extends RecyclerView.ViewHolder
implements View.OnClickListener {
private TextView mTitleTextView;
private TextView mDateTextView;
private CheckBox mSolvedCheckBox;
private Crime mCrime;
public CrimeHolder(View itemView) {
super(itemView);
mTitleTextView = (TextView)
itemView.findViewById(R.id.list_item_crime_title_text_view);
mDateTextView = (TextView)
itemView.findViewById(R.id.list_item_crime_date_text_view);
mSolvedCheckBox = (CheckBox)
itemView.findViewById(R.id.list_item_crime_solved_check_box);
}
public void bindCrime(Crime crime) {
mCrime = crime;
mTitleTextView.setText(mCrime.getTitle());
mDateTextView.setText(mCrime.getDate().toString());
mSolvedCheckBox.setChecked(mCrime.isSolved());
}
@Override
public CrimeHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(getActivity());
View view = layoutInflater.inflate(R.layout.list_item_crime, parent, false);
return new CrimeHolder(view);
}
@Override
public void onBindViewHolder(CrimeHolder holder, int position) {
Crime crime = mCrimes.get(position);
holder.bindCrime(crime);
}
@Override
public int getItemCount() {
return mCrimes.size();
}
@Override
public void onClick(View v) {
Intent intent = CrimeActivity.newIntent(getActivity(), mCrime.getId());
startActivity(intent);
}
}
}
答案 0 :(得分:19)
这些是您的导入声明,
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;
import java.util.List;
您似乎尚未导入RecyclerView
,LayoutManager
以及您在Android中内置的任何内容。您只需要导入您看到红线的类。
How to Import?
按Windows上的alt + Enter
或Mac上的alt + return
进行导入。你应该把光标放在课程的最后。
如果您还没有导入库,请将其添加到依赖项下的build.gradle
文件中。
compile 'com.android.support:recyclerview-v7:21.0.+'
更新:
最新的回收库是:
使用最新的gradle版本。 3.0或以上。
implementation 'com.android.support:recyclerview-v7:28.0.0'
使用旧的gradle版本
compile 'com.android.support:recyclerview-v7:28.0.0'
答案 1 :(得分:10)
对于最新版本的Android Studio 3:
在Gradle Scripts,build.gradle(Module)
下找到您的gradle文件添加依赖项:
dependencies {
...
implementation 'com.android.support:cardview-v7:27.0.+'
implementation 'com.android.support:recyclerview-v7:27.0.+'
}
同步您的gradle文件(文件/同步项目与gradle文件)。
返回您的代码并点击遗漏参考上的ALT + Enter。
应该是它。
答案 2 :(得分:3)
将Gradle更新为4.4之后
我发现我的进口货在抱怨RecyclerView
事实证明,我不再需要导入单独的RecyclerView依赖项
以前:
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:design:26.1.0'
compile 'com.android.support:recyclerview-v7:26.1.0'
更新后:
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:design:26.1.0'
答案 3 :(得分:2)
在Android Studio 3.2.1上(建于2018年10月8日),对于一个新项目,我只需要添加
implementation "com.android.support:design:$support_version"
。 support_version与“新建项目”向导在appcompat-v7中生成的版本相同。
答案 4 :(得分:0)
此解决方案有效:
以红色错误返回主活动按 alt +输入 android建议导入库,它可以工作。在清理并重建项目之前不存在。
答案 5 :(得分:0)
对于API 28或更高版本:
public function store(Request $request) {
$user_id = Auth::user()->id;
$new_report = new Report();
$forminputs = $request->all();
foreach($forminputs as $forminput) {
$request->image->move('images/report_images', $request->image->getClientOriginalName());
$new_report->user_id = $user_id;
$new_report->remark = $request->remark;
$new_report->sub_remark = $request->sub_remark;
$new_report->area_id = $request->area_id;
$new_report->store_id = $request->store_id;
$new_report->product_id = $request->product_id;
$new_report->display = $request->display;
$new_report->storage = $request->storage;
$new_report->image = 'images/report_images/'.$request->image->getClientOriginalName();
$new_report->save();
}
}
也许这可以帮助某人。