我遵循Head First的Android开发指南作为参考,并尝试使用cardview实现面条菜肴的recyclerview。
我目前正在按照书中的建议将单击功能作为与适配器分开的接口来实现;虽然我现在没有使用片段。一个问题是我定义的 setListener 方法没有被我的 MainActivity 找到。
错误是“找不到符号方法 setListener()”。所以,我的方法就像未定义一样。您知道如何解决这个问题吗?这是MainActivity的代码
package com.justin.android.foodapp;
import androidx.appcompat.app.A
public class MainActivity extends AppCompatActivity {
private Noodles[] noodlesDataset = Noodles.noodles;
private RecyclerView recyclerView;
private RecyclerView.Adapter mAdapter;
private RecyclerView.LayoutManager layoutManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Log.i("MainActivity", "Hello World");
// get the recycler view
recyclerView = (RecyclerView) findViewById(R.id.noodleRecycler);
// use a linear layout manager
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
//specify an adapter
mAdapter = new MyAdapter(noodlesDataset);
recyclerView.setAdapter(mAdapter);
LinearLayoutManager layoutManager = new LinearLayoutManager(MainActivity.this);
recyclerView.setLayoutManager(layoutManager);
mAdapter.setListener(new MyAdapter.Listener(){
public void onClick(int position) {
Intent intent = new Intent(MainActivity.this, NoodleDetailActivity.class);
intent.putExtra(NoodleDetailActivity.EXTRA_NOODLE_ID, position);
(MainActivity.this).startActivity(intent);
}
});
}
}
这是我的适配器代码,我在其中尝试定义 setListener 方法
隔江千里
相关分类