Mne*_*one 3 android fragment textview
我按照这个人的教程制作了一个ActionBar.假设我想在其中一个片段中更改TextView.所以我在onCreate下的StartActivity.java中添加了这个:
TextView textview = (TextView) findViewById(R.id.textView1);
textview.setText("HI!");
Run Code Online (Sandbox Code Playgroud)
当我启动我的应用程序时,它崩溃了.有人能指出我正确的方向吗?
我希望有人花时间看看这个人的教程,因为他的布局与我的基本相同.谢谢.
如果你想改变你的组件,我建议你在片段里面创建一个方法,如下所示:
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class DetailFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.details, container, false);
return view;
}
public void setText(String text){
TextView textView = (TextView) getView().findViewById(R.id.detailsText);
textView.setText(text);
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以尝试用 getActivity() 替换 getView() 吗?
public void setText(String text){
TextView textView = (TextView) getActivity().findViewById(R.id.detailsText);
textView.setText(text);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25356 次 |
| 最近记录: |