我想为导航抽屉的不同值添加意图,但收到错误
java.lang.RuntimeException: 无法实例化活动 ComponentInfo{com.example.tanis.myapplication/com.example.tanis.myapplication.MenuItems.Home}: java.lang.ClassCastException: com.example.tanis.myapplication.MenuItems.Home 不能强制转换为 android.app.Activity
请帮忙
清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.tanis.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="WebTechiq"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity"></activity>
<activity
android:name=".Splash"
android:label="WebTechniQ">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MenuItems.Registration"
android:label="Registration"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".MenuItems.Home"
android:label="Home"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
首页.java
package com.example.tanis.myapplication.MenuItems;
/**
* Created by tanis on 27-06-2018.
*/
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import com.example.tanis.myapplication.Adapters.CardItemString;
import com.example.tanis.myapplication.Adapters.CardPagerAdapterS;
import com.example.tanis.myapplication.Adapters.ViewPagerAdapter;
import com.example.tanis.myapplication.R;
import com.example.tanis.myapplication.Services.website_designing;
import java.util.Timer;
import java.util.TimerTask;
public class Home extends Fragment {
ViewPager mViewPager;
CardPagerAdapterS mCardAdapter;
ShadowTransformer mCardShadowTransformer;
ViewPager viewPager;
String titlesText[] = {" Website Design", " Digital Marketing", " Domain Registration", "Graphics Design", " Mobile Apps", " Server Hosting",
" Software Development", " Content Marketing", " Security (SSl)"};
String detailsArray[] = {
"Your website is your digital home. We create, design, redesign, develop, improvise, and implement. We make beautiful websites",
"We help your business reach potential customers on every possible digital device through all possible media channels ",
"To launch your website the first thing you need is the domain name. You can choose your domain name with us here ",
"We generate creative solutions and can create a wide range of graphic for your clients which match their business ",
"We are mobile. And we make you mobile. We make responsive websites and mobile apps which compliment your business ",
"When you are hosting your website in the India you will benefit from a higher ping rate and lowest latency ",
"Our team is competent at coding web apps with keen attention to detail & intuitive functionality that is high on design & creativity",
"Content is the heart of your digital presence. We create the right content with the right focus for your business",
"Secure your site with the world's leading provider of online security and get these exclusive features at no added cost",
};
int[] images = {R.drawable.website_design, R.drawable.digita, R.drawable.domain_registration, R.drawable.gric,
R.drawable.mob, R.drawable.server, R.drawable.software_development, R.drawable.ontent, R.drawable.ssl};
private Context context;
public Home() {
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment.
*
* @return A new instance of fragment FragmentAction.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.home, container, false);
TextView txt = (TextView) v.findViewById(R.id.textView12);
txt.setText("u25BA Creative & Dedicated Team");
TextView txt1 = (TextView) v.findViewById(R.id.textView13);
txt1.setText("u25BA Affordable Cost");
TextView txt2 = (TextView) v.findViewById(R.id.textView14);
txt2.setText("u25BA Maintain Long Relationship");
TextView txt3 = (TextView) v.findViewById(R.id.textView15);
txt3.setText("u25BA Timely Deliverly ");
context = this.getContext();
Button b = (Button) v.findViewById(R.id.button7);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getActivity(), website_designing.class);
}
});
mViewPager = (ViewPager) v.findViewById(R.id.viewpager1);
mCardAdapter = new CardPagerAdapterS();
for (int i = 0; i < titlesText.length; i++) {
mCardAdapter.addCardItemS(new CardItemString(titlesText[i], detailsArray[i], images[i]));
}
mCardShadowTransformer = new ShadowTransformer(mViewPager, mCardAdapter);
mViewPager.setAdapter(mCardAdapter);
mViewPager.setPageTransformer(false, mCardShadowTransformer);
mViewPager.setOffscreenPageLimit(3);
viewPager = (ViewPager) v.findViewById(R.id.viewpager);
ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(this.getContext());
viewPager.setAdapter(viewPagerAdapter);
Timer timer = new Timer();
timer.scheduleAtFixedRate(new Mytime(), 2000, 4000);
FloatingActionButton floatingActionButton = (FloatingActionButton) v.findViewById(R.id.floatingActionButton);
floatingActionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(getActivity(), Registration.class));
}
});
return v;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
}
public class Mytime extends TimerTask {
@Override
public void run() {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (viewPager.getCurrentItem() == 0) {
viewPager.setCurrentItem(1);
} else if (viewPager.getCurrentItem() == 1) {
viewPager.setCurrentItem(2);
} else if (viewPager.getCurrentItem() == 2) {
viewPager.setCurrentItem(3);
} else if (viewPager.getCurrentItem() == 3) {
viewPager.setCurrentItem(4);
} else {
viewPager.setCurrentItem(0);
}
}
});
}
}
}
由于以下行,您会收到错误:
<activity
android:name=".MenuItems.Home"
android:label="Home"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
您不能在AndroidManifest.xml
中添加片段(您的Home
类扩展Fragment
(。您需要一个Activity
来加载此片段。按照官方指南正确使用片段。
片段都不能通过 Manifest 实例化。您只能使用 AppCompatActivity 用于扩展。无需在清单中实例化片段
为此,您应该更改
public class Home extends AppCompatActivity {.....}
现在清单永远不会显示任何错误 如果要在事件发生时调用片段,则应使用其他方法。
如果要显示片段,下面的代码将为您提供帮助
主要活动
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button bd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bd=(Button) findViewById(R.id.submit);
bd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
BlankFragment fragmentFeaturedNews = new BlankFragment();
fragmentTransaction.replace(R.id.framelayout, fragmentFeaturedNews);
fragmentTransaction.commit();
}
});
}
}
主 XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.stacktest.MainActivity"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/submit"
android:layout_width="150dp"
android:layout_height="60dp"
android:text="fetch Fragments"
android:layout_centerHorizontal="true"/>
<FrameLayout
android:id="@+id/framelayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/submit"
android:layout_marginTop="80dp">
</FrameLayout>
</RelativeLayout>
</LinearLayout>