所以我的代码只使用RecyclerView创建了一个CardView列表.运行我的代码后,我一直收到一个奇怪的错误,声称我的xml中有错误.摆弄了一会儿后,我发现,在我的布局文件,如果我改变<RecyclerView>对<android.support.v7.widget.RecyclerView>一切都工作得很好.为什么会这样?
我的活动.
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Menu;
import android.view.MenuItem;
import java.util.ArrayList;
public class CardListActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_card_list);
RecyclerView recyclerView = (RecyclerView)findViewById(R.id.cardList);
recyclerView.setHasFixedSize(true);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(linearLayoutManager);
ArrayList<String> list = new ArrayList<>();
for(int i = 0; i < 20; i++) {list.add("Item " + i);}
CardListAdapter cardListAdapter = new CardListAdapter(list);
recyclerView.setAdapter(cardListAdapter);
}
}
Run Code Online (Sandbox Code Playgroud)
我的适配器
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; …Run Code Online (Sandbox Code Playgroud) android material-design android-5.0-lollipop recycler-adapter android-recyclerview
在下面的build.gradle中,我添加了配置部分以避免双重包含支持库.支持库用于主项目和依赖项目,如facebook sdk.如果没有配置部分,我会得到"意想不到的顶级异常".添加该配置会使错误消失,应用程序一切正常.
现在,我正在尝试将RecyclerView添加到我的应用程序中,并且在充气Recyclerview时找不到RecyclerView类(尽管它构建正常).如果我删除了facebook SDK和配置部分,则recyclerview工作正常.
问题:我可以对build.gradle进行哪些更改以使facebook SDK正常工作并且RecyclerView可以正常工作?换句话说,为什么配置部分不包括v7,只是它应该排除v4?
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v4:+'
compile 'com.android.support:support-v13:+'
compile 'com.android.support:cardview-v7:+'
compile 'com.android.support:recyclerview-v7:+'
compile 'com.google.android.gms:play-services:4.4.52'
compile project(':facebook-3.15')
compile project(':parse-1.5.1')
compile project(':viewpagerindicator-2.4.1')
}
configurations {
// to avoid double inclusion of support libraries
all*.exclude group: 'com.android.support', module: 'support-v4'
}
Run Code Online (Sandbox Code Playgroud) android ×2