嘿,我的Android应用中的上下文操作模式有问题。我有一个TaskActivity(AppCompatActivity)和三个标签。所有选项卡都是片段。在我的第一个选项卡TaskOwnListTabFragment(Fragment)中,我有这个布局:
<android.support.design.widget.CoordinatorLayout
android:id="@+id/main_content"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/listview_task_tasklist_ownlist"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>
</android.support.design.widget.CoordinatorLayout>
在我的适配器中,我处理onLOngPressed事件。我的RecyclerView将由适配器填充:
@Override
public View onCreateView(LayoutInflater _inflater, ViewGroup _container, Bundle _savedInstanceState)
{
Log.d(TAG,":TaskOwnListTabFragment.onCreateView()");
View view = _inflater.inflate(R.layout.tab_task_ownlist, _container, false);
this.taskList = Task.createDummyTasksList(10); // Es werden Dummy Daten geladen
this.recyclerViewOwnTasks = (RecyclerView) view.findViewById(R.id.listview_task_tasklist_ownlist);
this.recyclerViewOwnTasks.setAdapter(new TaskOwnListAdapter(this.taskList));
this.recyclerViewOwnTasks.setLayoutManager(new LinearLayoutManager(view.getContext()));
return view;
}
这是我的适配器:
public class TaskOwnListAdapter extends RecyclerView.Adapter<TaskOwnListAdapter.TaskOwnListViewHolder>
{
private static final String TAG = "familyplan.debug";
private List<Task> TaskList = null;
public TaskOwnListAdapter(List<Task> _taskList)
{
this.TaskList = _taskList;
}
@Override
public TaskOwnListViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_task, parent, false);
return new TaskOwnListViewHolder(view);
}
@Override
public void onBindViewHolder(TaskOwnListViewHolder holder, int position)
{
Task task = this.TaskList.get(position); //Ausgewählte Aufgabe wird zurückgegeben
final TextView textViewTaskName = holder.textViewTaskName;
final TextView textViewTaskDescription = holder.textViewTaskDescription;
textViewTaskName.setText(task.getTaskName());
textViewTaskDescription.setText(task.getTaskDescription());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
Log.d(TAG,":TaskOwnListAdapter.onClick() -> item with value = " + textViewTaskName.getText().toString());
}
});
holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v)
{
Log.d(TAG,":TaskOwnListAdapter.onLongClick()");
return true;
}
});
}
@Override
public int getItemCount()
{
return this.TaskList.size();
}
public class TaskOwnListViewHolder extends RecyclerView.ViewHolder
{
public TextView textViewTaskName;
public TextView textViewTaskDescription;
public TaskOwnListViewHolder(View itemView)
{
super(itemView);
textViewTaskName = (TextView) itemView.findViewById(R.id.item_task_name);
textViewTaskDescription = (TextView) itemView.findViewById(R.id.item_task_description);
}
}
}
我不知道如何在我的片段中使用CAB来处理我的情况:(如果每个人都有想法那么请帮助我。