【发布时间】:2017-01-25 07:44:47
【问题描述】:
我有一个片段,在那个片段中我有一个可以调用另一个活动的按钮
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_test_fragment, container, false);
Button button = (Button) view.findViewById(R.id.button2);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(getActivity(), AnotherPage.class);
startActivity(i);
}
});
现在可以正常工作了。
但是,现在我想在我在这个片段中创建的 TabHost 中做同样的事情。
那么如何在我的标签中调用getActivity()?
我试过了:
public class tab_two_graph extends AppCompatActivity {
View v;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tab_two_graph);
Intent intent = getParent().getIntent();
v = intent.getParcelableExtra("view");
Button b = (Button) findViewById(R.id.button2);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(v.getActivity(), Alert_main_page.class);
startActivity(i);
}
});
}
但它只会抛出错误。
【问题讨论】:
-
查看 v; ---尝试做“公开决赛”。并给出错误内容(Runtime 或Сompiler 不接受语法?)
-
错误是什么?
标签: android android-fragments android-tabhost fragment-tab-host