分からないこと
Fragmentの中にあるListViewの更新処理をActivityで行いたいと思っています。
そのために、Fragment(Fragment.java)の中で作成したインスタンス(Logger.java)をActivity内で使用したいのですが、使用方法がわかりません。
どうすれば、ActivityでFragmnetで作成したインスタンスを使用することができますか??
教えて下さい。
ソースコード
Fragment.java
java
1public class LogFragment extends Fragment { 2 3 @Override 4 public View onCreateView(LayoutInflater inflater, ViewGroup container, 5 Bundle savedInstanceState) { 6 View view = inflater.inflate(R.layout.fragment_log, container, false); 7 8 ListView logListView = (ListView)view.findViewById(R.id.logListView); 9 // このloggerをActivityで使用したい 10 Logger logger = new Logger(getActivity(), logListView) 11 12 return view; 13 } 14 15}
Logger.java
java
1public class Logger { 2 3private List<String> list; 4private ArrayAdapter<String> adapter; 5 6 // コンストラクタ 7 public Logger(Context context, ListView listView) { 8 // viewにadapterをセット 9 list= new ArrayList<String>(); 10 adapter = new ArrayAdapter<String>(context, android.R.layout.simple_list_item_1, list); 11 listView.setAdapter(adapter); 12 } 13 14 public void add(Strig str) { 15 list.add(str); 16 adapter.notifyDataSetChanged; 17 } 18}
MainActivity.java
java
1public class MainActivity extends AppCompatActivity { 2 @Override 3 public void onCreate(Bundle savedInstanceState) { 4 super.onCreate(savedInstanceState); 5 } 6 7 // Fragmentで作成したloggerを使用したい。 8 logger.add("追加"); 9}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/21 09:44
2016/04/22 01:07
2016/04/24 08:42