我以前问一个问题,在堆栈这个,这是一个持续的,因为它在片段PageViewer注册广播接收器
前面的问题
Calling Fragment from inside the BaseAdapter class in PageViewer Android
现在我按一下按钮..它去注册,但似乎可以称为片段。 我想我需要注册。
我怎么能做到这一点在片段 清单文件下面是我的广播接收器,称为内Adapterclass
代码的片段类代码,这mBroadcastReceiver传递给BaseAdapter类
mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Recived",
Toast.LENGTH_LONG).show();
FieldVisitFragment fieldvisitFragment = new FieldVisitFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();
fragmentTransaction.replace(android.R.id.tabcontent, fieldvisitFragment);
fragmentTransaction.commit();
}
的onclick的从适配器列表中的按钮列表
我添加了BaseAdapter类中的代码
visitImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(con, "Visit Clicked ", Toast.LENGTH_LONG).show();
con.registerReceiver(mBroadcastReceiver, new IntentFilter(
"start.fragment.action"));
}
});
对于清单文件注册
<receiver android:name="what should I write here ???">
<intent-filter>
<action android:name="start.fragment.action"/>
</intent-filter>
</receiver>
变化进行看出答案后,但仍无法正常工作
清单文件
<receiver android:name="companyname.appname.fragments.FragmentClassName$BroadT">
<intent-filter>
<action android:name="start.fragment.action"/>
</intent-filter>
</receiver>
该片段类中定义
BroadT类
public class FragmentClassName extends Fragment
的BroadT类
class BroadT extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Recived",
Toast.LENGTH_LONG).show();
FieldVisitFragment fieldvisitFragment = new FieldVisitFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();
fragmentTransaction.replace(android.R.id.tabcontent, fieldvisitFragment);
fragmentTransaction.commit();
}
}
我在底座适配器级呼叫
public void onClick(View arg0) {
Toast.makeText(con, "Visit Clicked ", Toast.LENGTH_LONG).show();
con.registerReceiver(mBroadcastReceiver, new IntentFilter(
"start.fragment.action"));
}
但我<receiver android:name="packagename.BroadT">
BroadT类似乎并没有链接到调用类
我觉得我需要使用嵌套碎片任何人都可以帮忙吗?
首先接受已经问问题,然后提出新的问题,从注册片段接收器。 –
@MikeM。不,不是。我在谈论OP的第一个问题。 –
@MikeM。现在你明白了我的观点....快点!!!!!!! –