我以前問一個問題,在堆棧這個,這是一個持續的,因爲它在片段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。現在你明白了我的觀點....快點!!!!!!! –