我編寫了一個代碼,其目標是將數組列表項設置為回收視圖。但是當我運行該項目時,應用程序將崩潰。d.我檢查依賴關系。他們沒事。我檢查了代碼,我認為它們沒有任何問題。//主活動類public class MainActivity extends AppCompatActivity {RecyclerView rcl_cities;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initViews(); Log.e("ApplicationSays:","LayoutManager set");}private void initViews(){ rcl_cities = findViewById(R.id.rcl_cities); rcl_cities.setLayoutManager(new LinearLayoutManager(this,RecyclerView.VERTICAL,false)); CityAdapter cityAdapter = new CityAdapter(this,getCities()); rcl_cities.setAdapter(cityAdapter);}private ArrayList<City> getCities(){ ArrayList<City> cities = new ArrayList<>(); cities.add(new City(1, "mashhad")); cities.add(new City(2, "Tehran")); cities.add(new City(3, "Gorgan")); cities.add(new City(4, "Shiraz")); cities.add(new City(5, "Rasht")); return cities;}}
1 回答

嗶嗶one
TA貢獻1854條經驗 獲得超8個贊
首先,將您的更改view為xmlView
<View
android:layout_width="match_parent"
android:layout_height="3dp"
android:background="@android:color/holo_red_dark" />
其次,你沒有按照你的onBindViewHolder方法做正確的事情
City city = cities.get(position);
在嘗試向 City 傳遞值之前,應先聲明并初始化 City 的實例。
City city;
//....
city = new City
//...
city.setId(cities.get(position));
這樣您就可以再次測試您的代碼。
添加回答
舉報
0/150
提交
取消