我一直在尝试使用TableRow中的OnClick元素从片段中打开一个活动,但是当我运行应用程序时,它会在尝试打开活动时关闭。
这是Java代码文件:
package com.hello.turidf;
import com.hello.turidf.R;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class TabsIndexM001Help extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.m_001_help, container, false);
return rootView;
}
public void open_m001_map(View view) {
Intent openmap = new Intent(getActivity(),M001MapActivity.class);
startActivity(openmap);
}
}
这是XML代码文件(片段):
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
.......>
<TableLayout
.......>
<TabelRow
android:onClick="open_m001_map"
....>
........
</TableRow>
</TableLayout>
</ScrollBiew>
“M001MapActivity”活动尚未修改,默认情况下会创建代码。
答案 0 :(得分:3)
android:onClick执行在Activity中传递的方法,而不是在Fragment中传递。如果要在片段中执行此方法,请删除此行并在片段上以编程方式设置OnClickListener。