私は、Bluetoothデバイスに接続して、Bluetoothデバイスからデータを取得し、そのデータをフラグメントに送信したいのですが、私がフラグメントを開始するときにフラグメントを取得するドロワは、フラグメントが作成されたときにデータを送信し、その後にフラグメントを作成する方法を送信しません。フラグメントを再作成せずにこれらの変更から自分のフラグメントを通知する必要があります
彼女は私がフラグメントおよびフラグメントここ
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
switch (id) {
case R.id.nav_car:
backgroundImageView.setVisibility(View.INVISIBLE);
//setup the car fragment
carFragment = new CarFragment();
fragmentTransaction.replace(R.id.fragment_container, carFragment);
fragmentTransaction.commit();
carFragment.sendData(recDataString.toString());
break;
}
にデータを送信するには、インターフェイス
ですここpublic interface sendToDataToFragment {
void sendData(String data);
}
このフラグメントコード
public class CarFragment extends Fragment implements MainActivity.sendToDataToFragment {
private static final String LOG_TAG = CarFragment.class.getSimpleName();
public CarFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//address= getArguments().getString(EXTRA_DEVICE_ADDRESS);
View rootView = inflater.inflate(R.layout.fragment_car, container, false);
// Inflate the layout for this fragment
return rootView;
}
@Override
public void sendData(String data) {
if (data != null)
{
Log.e(LOG_TAG,data);
}
}
}
私はフラグメントに、このデータを、このデータを送信したいのBluetoothからデータを取得するコードは常に
を変更されていますbluetoothHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
//if message is what we want
if (msg.what == handlerState) {
// msg.arg1 = bytes from connect thread
String readMessage = (String) msg.obj;
//keep appending to string until ~ char
recDataString.append(readMessage);
}
}
};
enter code here
チェックこの[解答](http://stackoverflow.com/a/25392549/5993410)[フラグメント間の通信の –
可能な複製と: は、現在お使いのフラグメントコンテナのコールに表示フラグメントへの参照を取得するには(http://stackoverflow.com/questions/14247954/communicating-between-a-fragment-and-anactivity-best-practices) –
私は、ウル活動がウル断片のコンテナであると考えます。もしそれが本当であれば、あなたが更新しようとしているデータでurフラグメントのpublic/protected(同じパッケージにあれば)メソッドを作成し、urアクティビティで呼び出すのはとても簡単です。 – Catluc