ああ、またか。フラグメントを使用してアプリを作成しています。Stefan de Bruijn は、非推奨の TabHost を使用するよりもこれが優れていると提案し、彼は正しかったです。Stefan に感謝します。
やっとひとつのフラグメントから私へのコミュニケーションが取れました。他のメンバーの助けのおかげで、活動はうまくいっています (あなたはあなたが誰であるか知っています、ありがとうございます)。
私は今、うまくいけば最後の問題を抱えています。私のアプリには、アクティビティの一部である TextBox が上部にあり、左側に永続的な ListFragment があり、右側に FrameLayout があり、さまざまなフラグメントを表示できるようになっています。
すべての異なるフラグメントが通信できるアクティビティで好きな場合、一般的な「リスナー」を作成する方法はありますか?
1 つの Fragment を渡すデータを取得するために、以下を使用しました。
主な活動
import com.example.fragger.CoreFragment.OnDataPass;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.EditText;
public class MainActivity extends Activity implements OnDataPass {
およびフラグメントコード:-
package com.example.fragger;
import android.app.Activity;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.os.Bundle;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.view.View.OnClickListener;
public class CoreFragment extends Fragment{
int index;
Button Button1,Button2,Button3;
String Str,data;
OnDataPass dataPasser;
@Override
public void onAttach(Activity a) {
super.onAttach(a);
dataPasser = (OnDataPass) a;
}
public static CoreFragment newInstance(int index) {
CoreFragment coreFragment = new CoreFragment();
coreFragment.index = index;
return coreFragment;
}
public interface OnDataPass {
public void onDataPass(String data);
}
フレームに別のフラグメント (PlaceFragment など) を表示するまでは、これで問題ありません。onDataPass は CoreFragment からインポートして実装しているため、それ以外では使用できません。
これを回避する方法はありますか?
よろしくお願いします。ゲイリー