아래 질문에서 프라그멘트를 사용하라고 해서 일단 창을 듸웠는데 <div><span style="font-size:9pt;">그 프라그멘트 창에 있는 Textview 의 문자를 변경하면 에러를 발생하는군요.</span></div> <div><span style="font-size:9pt;"><br></span></div> <div><span style="font-size:9pt;">엑티비티에서 프라그먼트 창을 띄우고 버튼이나 텍스트뷰등을 엑티비티에 있는것과 동일하게 사용하려면 뭘 해야 할까요?</span></div> <div><span style="font-size:9pt;">힌트좀 주시면 감사하겠습니다.</span></div> <div><span style="font-size:9pt;"><br></span></div> <div><pre style="font-family:'굴림체';font-size:9pt;"><br><span style="color:#000080;font-weight:bold;">public class </span>MainActivity <span style="color:#000080;font-weight:bold;">extends </span>AppCompatActivity {<br><br> Button <span style="color:#660e7a;font-weight:bold;">Button1</span>, <span style="color:#660e7a;font-weight:bold;">Button2</span>, <span style="color:#660e7a;font-weight:bold;">TestBtn</span>;<br> Fragment <span style="color:#660e7a;font-weight:bold;">fr </span>= <span style="color:#000080;font-weight:bold;">null</span>;<br><br> TextView <span style="color:#660e7a;font-weight:bold;">FirstText</span>, <span style="color:#660e7a;font-weight:bold;">MainTxt</span>;<br><br><span style="color:#808000;">@Override<br></span><span style="color:#808000;"> </span><span style="color:#000080;font-weight:bold;">protected void </span>onCreate(Bundle savedInstanceState) {<br><span style="color:#000080;font-weight:bold;">super</span>.onCreate(savedInstanceState);<br> setContentView(R.layout.<span style="color:#660e7a;font-weight:bold;font-style:italic;">activity_main</span>);<br><br><span style="color:#660e7a;font-weight:bold;">MainTxt </span>= (TextView) findViewById(R.id.<span style="color:#660e7a;font-weight:bold;font-style:italic;">testView</span>);<br><span style="color:#660e7a;font-weight:bold;">Button1 </span>= (Button)findViewById(R.id.<span style="color:#660e7a;font-weight:bold;font-style:italic;">btn_first</span>);<br><span style="color:#660e7a;font-weight:bold;">Button2 </span>= (Button)findViewById(R.id.<span style="color:#660e7a;font-weight:bold;font-style:italic;">btn_second</span>);<br><span style="color:#660e7a;font-weight:bold;">TestBtn </span>= (Button)findViewById(R.id.<span style="color:#660e7a;font-weight:bold;font-style:italic;">btn_test</span>);<br><span style="color:#660e7a;font-weight:bold;">FirstText </span>= (TextView) findViewById(R.id.<span style="color:#660e7a;font-weight:bold;font-style:italic;">firstTxt</span>);<br><br><br> }<br><br><span style="color:#000080;font-weight:bold;">public void </span>onClick(View v) {<br><span style="color:#000080;font-weight:bold;">switch</span>( v.getId() ) {<br><span style="color:#000080;font-weight:bold;">case </span>R.id.<span style="color:#660e7a;font-weight:bold;font-style:italic;">btn_first</span>:<br><span style="color:#660e7a;font-weight:bold;">fr</span>= <span style="color:#000080;font-weight:bold;">new </span>FirstFragment();<br> selectFragment(<span style="color:#660e7a;font-weight:bold;">fr</span>);<br><span style="color:#000080;font-weight:bold;">break</span>;<br><span style="color:#000080;font-weight:bold;">case </span>R.id.<span style="color:#660e7a;font-weight:bold;font-style:italic;">btn_second</span>:<br><span style="color:#660e7a;font-weight:bold;">fr</span>= <span style="color:#000080;font-weight:bold;">new </span>SecondFragment();<br> selectFragment(<span style="color:#660e7a;font-weight:bold;">fr</span>);<br><span style="color:#000080;font-weight:bold;">break</span>;<br><span style="color:#000080;font-weight:bold;">case </span>R.id.<span style="color:#660e7a;font-weight:bold;font-style:italic;">btn_test</span>:<br><span style="color:#660e7a;font-weight:bold;">FirstText</span>.setText(<span style="color:#008000;font-weight:bold;">"안녕하세요"</span>); <span style="color:#808080;font-style:italic;">//<-- 에러발생. 프로그램 종료<br></span><span style="color:#808080;font-style:italic;"> //MainTxt.setText("안녕하세요");<br></span><span style="color:#808080;font-style:italic;"> </span><span style="color:#000080;font-weight:bold;">break</span>;<br> }<br> }<br><br><br><span style="color:#000080;font-weight:bold;">public void </span>selectFragment(Fragment fr){<br><br> FragmentManager fm = getFragmentManager();<br> FragmentTransaction fragmentTransaction = fm.beginTransaction();<br> fragmentTransaction.replace(R.id.<span style="color:#660e7a;font-weight:bold;font-style:italic;">fragment_container</span>, fr);<br> fragmentTransaction.commit();<br><br> }<br></pre></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.