我创建了一个包含3个部分的标签布局。第一个用于检查语法,第二个用于课程,第二个选项卡包含6个课程的6个按钮,我希望用户单击该按钮并转到其他活动或课程。但是我没有得到想要的输出。我尝试了通过片段类打开活动的其他方法,但没有任何反应。
要进入带有选项卡布局的其他课程,我应该怎么做?
这是我的代码
secondFragment_grammarTips
public class secondFragment_grammarTips extends Fragment {
public secondFragment_grammarTips() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_second_fragment_grammar_tips, container, false);
Button lesson1 = (Button) view.findViewById(R.id.button1);
lesson1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent less1 = new Intent(getActivity(), Lesson1_GramarTips.class);
less1.putExtra("some", "some data");
startActivity(less1);
}
});
// Inflate the layout for this fragment
//return inflater.inflate(R.layout.fragment_second_fragment_grammar_tips, container, false);
return view;
}
}
课程1_语法提示
public class Lesson1_GramarTips extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lesson1__gramar_tips);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Bundle bundle = getIntent().getExtras();
if(bundle != null){
if(bundle.getString("some") != null){
Toast.makeText(getApplicationContext(), "data: " + bundle.getString("some"), Toast.LENGTH_SHORT).show();
}
}
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="renelyn.austria.capstonetwoproject">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Lesson1_GrammarTips"></activity>
</application>
</manifest>
fragment_second_fragment_grammar_tips.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="layout.secondFragment_grammarTips"
>
<!-- TODO: Update blank fragment layout -->
<!--<TextView-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="match_parent"-->
<!--android:text="@string/hello_blank_fragment" />-->
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<Button
android:id="@+id/button1"
android:layout_width="385dp"
android:layout_height="110dp"
android:text="Lesson 1"
/>
<Button
android:id="@+id/button2"
android:layout_width="385dp"
android:layout_height="110dp"
android:text="Lesson 2"
/>
<Button
android:id="@+id/button3"
android:layout_width="385dp"
android:layout_height="110dp"
android:text="Lesson 3"
/>
<Button
android:id="@+id/button4"
android:layout_width="385dp"
android:layout_height="110dp"
android:text="Lesson 4"
/>
<Button
android:id="@+id/button5"
android:layout_width="385dp"
android:layout_height="110dp"
android:text="Lesson 5"
/>
<Button
android:id="@+id/button6"
android:layout_width="385dp"
android:layout_height="110dp"
android:text="Lesson 6"
/>
</LinearLayout>
</ScrollView>
</FrameLayout>
答案 0 :(得分:1)
无论何时创建片段,it(fragment)都应具有托管该片段的活动。在清单文件中没有找到“ Lesson1_GrammarTips”以外的任何活动。而且Lesson1_GrammarTips(activity)没有托管任何片段。经历this。