【发布时间】:2017-08-22 16:53:30
【问题描述】:
我已经设法使用回收视图创建了一个选项卡式活动,并在每个片段中创建了一个列表视图,现在我有了使片段中的卡片可点击并创建启动新活动的意图所需的列表。我已经尝试过 on-click 方法和 onListItemClick,即使我知道这行不通。
基本上我需要为每个片段再创建一层列表,这将导致操作列表(网络视图、地图和信息)。
示例代码如下
ublic class LOneFragment extends Fragment {
public LOneFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View rootView = inflater.inflate(R.layout.fragment_blank, container, false);
RecyclerView rv = (RecyclerView) rootView.findViewById(R.id.rv_recycler_view);
rv.setHasFixedSize(true);
MyAdapter adapter = new MyAdapter(new String[]{"League One News", "AFC Wimbledon", "Blackburn Rovers", "Blackpool", "Bradford City", "Bristol Rovers", "Bury", "Charlton Athletic", "Doncaster Rovers", "Fleetwood Town",
"Gillingham", "Milton Keynes Dons", "Northampton Town", "Oldham Athletic", "Oxford United", "Peterborough United", "Plymouth Argyle", "Portsmouth", "Rochdale", "Rotherham United",
"Scunthorpe United", "Shrewsbury Town", "Southend United", "Walsall", "Wigan Athletic"});
rv.setAdapter(adapter);
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
rv.setLayoutManager(llm);
return rootView;
}
public void onListItemClick(ListView l, View v, int position, long id) {
if (position == 3) {
Intent intent = new Intent(getContext(), Bradford.class);
startActivity(intent);
}
我的适配器类
公共类 MyAdapter 扩展 RecyclerView.Adapter {
private String[] mDataset;
public static class MyViewHolder extends RecyclerView.ViewHolder{
public CardView mCardView;
public TextView mTextView;
public MyViewHolder(View v){
super(v);
mCardView = (CardView) v.findViewById(R.id.card_view);
mTextView = (TextView) v.findViewById(R.id.tv_text);
}
}
public MyAdapter(String[] myDataset){
mDataset = myDataset;
}
@Override
public MyAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType){
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_item, parent, false);
MyViewHolder vh = new MyViewHolder(v);
return vh;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position){
holder.mTextView.setText(mDataset[position]);
}
@Override
public int getItemCount() { return mDataset.length; }
}
【问题讨论】:
-
你的“onListItemClick”方法在哪里使用?
-
这里你可以找到如何使用 RecyclerView 定义“onClickListener”stackoverflow.com/questions/24471109/recyclerview-onclick
-
如果您想在回收站视图项上放置点击侦听器,那么您应该在 MyAdapter 类中执行此操作。如果是这种情况,请发布 M¥Adapter 类。
-
@AalapPatel 我已经添加了适配器类
标签: java android android-fragments android-intent