如何从列表视图组上的按钮单击事件调用并将参数传递给片段
How to call and pass parameters to a fragment from a button click event on the listview group
我在组 header 中有一个带有按钮和文本视图的可扩展列表视图。
我使用实现视图持有者的适配器。
我想在按钮上包含一个点击事件,这样我就可以得到组 header 中的文本视图文本,并且我想将该字符串传递给另一个片段。
我还想展示另一个片段。
我卡住了,我想不通,
- 如何从单击按钮的片段中的可扩展列表视图中读取文本视图值
和
- 如何将Title 的值传递给另一个片段。
我需要使用
GViewHolder.myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
或
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
});
请注意,我看不到 public void onItemClick 在单击按钮时被击中!
我实现了一个适配器如下:
部分代码为
public class ListViewAdapter extends BaseExpandableListAdapter {
class GViewHolder {
public TextView Title;
public Button myButton;
}
GViewHolder.myButton.setFocusable(false);
GViewHolder.myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// How to implement this in the fragment ???
}
});
}
Adapter实现部分片段如下:
private ListView eList = null;
InterFragmentNavigator interFragmentNavigator;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_event_list, container, false);
eList = (ListViewAdapter) view.findViewById(R.id.eView);
ListViewAdapter listDataAdapter = new ListViewAdapter(getActivity(), groupes);
eList.setAdapter(listDataAdapter);
eList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
// Here, I want to read the textview value of Title next to button
TextView textViewItem = ((TextView) view.findViewById(R.id.Title));
String Title = textViewItem.getText().toString();
**//Here, I want to call another fragment and pass Title as parameter.**
return view;
}
假设您正在通过点击创建新片段,然后添加类似内容。
Fragment detailFragment = new Fragment();
Bundle bundle = new Bundle();
bundle.putString("TITLE", "your title");
detailFragment.setArguments(bundle);
然后在这里进行横断面。然后在 detailFragment 中你可以做
Bundle bundle = getArguments();
String title = bundle.getString("TITLE") ;
我在组 header 中有一个带有按钮和文本视图的可扩展列表视图。 我使用实现视图持有者的适配器。
我想在按钮上包含一个点击事件,这样我就可以得到组 header 中的文本视图文本,并且我想将该字符串传递给另一个片段。
我还想展示另一个片段。
我卡住了,我想不通,
- 如何从单击按钮的片段中的可扩展列表视图中读取文本视图值 和
- 如何将Title 的值传递给另一个片段。
我需要使用
GViewHolder.myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
或
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
});
请注意,我看不到 public void onItemClick 在单击按钮时被击中!
我实现了一个适配器如下: 部分代码为
public class ListViewAdapter extends BaseExpandableListAdapter {
class GViewHolder {
public TextView Title;
public Button myButton;
}
GViewHolder.myButton.setFocusable(false);
GViewHolder.myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// How to implement this in the fragment ???
}
});
}
Adapter实现部分片段如下:
private ListView eList = null;
InterFragmentNavigator interFragmentNavigator;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_event_list, container, false);
eList = (ListViewAdapter) view.findViewById(R.id.eView);
ListViewAdapter listDataAdapter = new ListViewAdapter(getActivity(), groupes);
eList.setAdapter(listDataAdapter);
eList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
// Here, I want to read the textview value of Title next to button
TextView textViewItem = ((TextView) view.findViewById(R.id.Title));
String Title = textViewItem.getText().toString();
**//Here, I want to call another fragment and pass Title as parameter.**
return view;
}
假设您正在通过点击创建新片段,然后添加类似内容。
Fragment detailFragment = new Fragment();
Bundle bundle = new Bundle();
bundle.putString("TITLE", "your title");
detailFragment.setArguments(bundle);
然后在这里进行横断面。然后在 detailFragment 中你可以做
Bundle bundle = getArguments();
String title = bundle.getString("TITLE") ;