Я очень новичок в разработке Android. Я начал создавать ящик для навигации с фрагментами, в которых я хочу, чтобы фрагменты наведения вызывали разные действия. Я прикрепил свои коды для обзора ur. пожалуйста, предложите мне решение.java.lang.IllegalStateException: Не удалось выполнить по клику метод активности
And this is my fragment which we r calling
package com.example.lunetta;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
public class FragmentTwo extends Fragment {
\t ImageView ivIcon;
\t TextView tvItemName;
\t public static final String IMAGE_RESOURCE_ID = "iconResourceID";
\t public static final String ITEM_NAME = "itemName";
\t public FragmentTwo()
\t {
\t \t
\t }
\t
\t @Override
\t public View onCreateView(LayoutInflater inflater, ViewGroup container,
\t \t \t Bundle savedInstanceState) {
\t \t
\t \t View view=inflater.inflate(R.layout.fragment_layout_two,container, false);
\t \t
\t \t return view;
\t }
}
here is my error
03-26 12:35:23.231: W/dalvikvm(5062): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
03-26 12:35:23.261: E/AndroidRuntime(5062): FATAL EXCEPTION: main
03-26 12:35:23.261: E/AndroidRuntime(5062): java.lang.IllegalStateException: Could not execute method of the activity
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at android.view.View$1.onClick(View.java:3599)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at android.view.View.performClick(View.java:4204)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at android.view.View$PerformClick.run(View.java:17355)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at android.os.Handler.handleCallback(Handler.java:725)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at android.os.Handler.dispatchMessage(Handler.java:92)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at android.os.Looper.loop(Looper.java:137)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at android.app.ActivityThread.main(ActivityThread.java:5041)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at java.lang.reflect.Method.invokeNative(Native Method)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at java.lang.reflect.Method.invoke(Method.java:511)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at dalvik.system.NativeStart.main(Native Method)
03-26 12:35:23.261: E/AndroidRuntime(5062): Caused by: java.lang.reflect.InvocationTargetException
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at java.lang.reflect.Method.invokeNative(Native Method)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at java.lang.reflect.Method.invoke(Method.java:511)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at android.view.View$1.onClick(View.java:3594)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t ... 11 more
03-26 12:35:23.261: E/AndroidRuntime(5062): Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.lunetta/com.example.lunetta.FragmentTwo}; have you declared this activity in your AndroidManifest.xml?
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1618)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at android.app.Activity.startActivityForResult(Activity.java:3370)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at android.app.Activity.startActivityForResult(Activity.java:3331)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at android.app.Activity.startActivity(Activity.java:3566)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at android.app.Activity.startActivity(Activity.java:3534)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t at com.example.lunetta.Second.aboutUsClick(Second.java:41)
03-26 12:35:23.261: E/AndroidRuntime(5062): \t ... 14 more
here is my navigation drawer class
package com.example.lunetta;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
@SuppressWarnings("deprecation")
public class Welcome extends Activity {
\t private DrawerLayout mDrawerLayout;
\t private ListView mDrawerList;
\t private ActionBarDrawerToggle mDrawerToggle;
\t private CharSequence mDrawerTitle;
\t private CharSequence mTitle;
\t CustomDrawerAdapter adapter;
\t List<DrawerItem> dataList;
\t @Override
\t protected void onCreate(Bundle savedInstanceState) {
\t \t super.onCreate(savedInstanceState);
\t \t setContentView(R.layout.activity_welcome);
\t \t // Initializing
\t \t dataList = new ArrayList<DrawerItem>();
\t \t mTitle = mDrawerTitle = getTitle();
\t \t mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
\t \t mDrawerList = (ListView) findViewById(R.id.left_drawer);
\t \t mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow,
\t \t \t \t GravityCompat.START);
\t \t // Add Drawer Item to dataList
\t \t dataList.add(new DrawerItem("Home", R.drawable.ic_action_email));
\t \t dataList.add(new DrawerItem(" About", R.drawable.ic_action_about));
\t \t dataList.add(new DrawerItem("Services", R.drawable.ic_action_gamepad));
\t \t dataList.add(new DrawerItem("Product", R.drawable.ic_action_labels));
\t \t dataList.add(new DrawerItem("Marketing", R.drawable.ic_action_search));
\t \t dataList.add(new DrawerItem("Portfolio", R.drawable.ic_action_cloud));
\t \t dataList.add(new DrawerItem("career", R.drawable.ic_action_camera));
\t \t dataList.add(new DrawerItem("Request", R.drawable.ic_action_video));
\t \t dataList.add(new DrawerItem("Contact", R.drawable.ic_action_group));
\t \t dataList.add(new DrawerItem("Import & Export",
\t \t \t \t R.drawable.ic_action_import_export));
\t \t dataList.add(new DrawerItem("Likes", R.drawable.ic_action_good));
\t \t dataList.add(new DrawerItem("Settings", R.drawable.ic_action_settings));
\t \t dataList.add(new DrawerItem("Help", R.drawable.ic_action_help));
\t \t adapter = new CustomDrawerAdapter(this, R.layout.custom_drawer_item,
\t \t \t \t dataList);
\t \t mDrawerList.setAdapter(adapter);
\t \t mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
\t \t getActionBar().setDisplayHomeAsUpEnabled(true);
\t \t getActionBar().setHomeButtonEnabled(true);
\t \t mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
\t \t \t \t R.drawable.ic_drawer, R.string.drawer_open,
\t \t \t \t R.string.drawer_close) {
\t \t \t public void onDrawerClosed(View view) {
\t \t \t \t getActionBar().setTitle(mTitle);
\t \t \t \t invalidateOptionsMenu(); // creates call to
\t \t \t \t \t \t \t \t \t \t \t // onPrepareOptionsMenu()
\t \t \t }
\t \t \t public void onDrawerOpened(View drawerView) {
\t \t \t \t getActionBar().setTitle(mDrawerTitle);
\t \t \t \t invalidateOptionsMenu(); // creates call to
\t \t \t \t \t \t \t \t \t \t \t // onPrepareOptionsMenu()
\t \t \t }
\t \t };
\t \t mDrawerLayout.setDrawerListener(mDrawerToggle);
\t \t if (savedInstanceState == null) {
\t \t \t SelectItem(0);
\t \t }
\t }
\t @Override
\t public boolean onCreateOptionsMenu(Menu menu) {
\t \t // Inflate the menu; this adds items to the action bar if it is present.
\t \t getMenuInflater().inflate(R.menu.welcome, menu);
\t \t return true;
\t }
\t public void SelectItem(int possition) {
\t \t Fragment fragment = null;
\t \t Bundle args = new Bundle();
\t \t switch (possition) {
\t \t case 0:
\t \t \t fragment = new FragmentOne();
\t \t \t args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
\t \t \t \t \t .getItemName());
\t \t \t args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
\t \t \t \t \t .getImgResID());
\t \t \t break;
\t \t case 1:
\t \t \t fragment = new FragmentTwo();
\t \t \t break;
\t \t case 2:
\t \t \t fragment = new FragmentThree();
\t \t \t args.putString(FragmentThree.ITEM_NAME, dataList.get(possition)
\t \t \t \t \t .getItemName());
\t \t \t args.putInt(FragmentThree.IMAGE_RESOURCE_ID, dataList
\t \t \t \t \t .get(possition).getImgResID());
\t \t \t break;
\t \t case 3:
\t \t \t fragment = new FragmentOne();
\t \t \t args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
\t \t \t \t \t .getItemName());
\t \t \t args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
\t \t \t \t \t .getImgResID());
\t \t \t break;
\t \t case 4:
\t \t \t fragment = new FragmentTwo();
\t \t \t args.putString(FragmentTwo.ITEM_NAME, dataList.get(possition)
\t \t \t \t \t .getItemName());
\t \t \t args.putInt(FragmentTwo.IMAGE_RESOURCE_ID, dataList.get(possition)
\t \t \t \t \t .getImgResID());
\t \t \t break;
\t \t case 5:
\t \t \t fragment = new FragmentThree();
\t \t \t args.putString(FragmentThree.ITEM_NAME, dataList.get(possition)
\t \t \t \t \t .getItemName());
\t \t \t args.putInt(FragmentThree.IMAGE_RESOURCE_ID, dataList
\t \t \t \t \t .get(possition).getImgResID());
\t \t \t break;
\t \t case 6:
\t \t \t fragment = new FragmentOne();
\t \t \t args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
\t \t \t \t \t .getItemName());
\t \t \t args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
\t \t \t \t \t .getImgResID());
\t \t \t break;
\t \t case 7:
\t \t \t fragment = new FragmentTwo();
\t \t \t args.putString(FragmentTwo.ITEM_NAME, dataList.get(possition)
\t \t \t \t \t .getItemName());
\t \t \t args.putInt(FragmentTwo.IMAGE_RESOURCE_ID, dataList.get(possition)
\t \t \t \t \t .getImgResID());
\t \t \t break;
\t \t case 8:
\t \t \t fragment = new FragmentThree();
\t \t \t args.putString(FragmentThree.ITEM_NAME, dataList.get(possition)
\t \t \t \t \t .getItemName());
\t \t \t args.putInt(FragmentThree.IMAGE_RESOURCE_ID, dataList
\t \t \t \t \t .get(possition).getImgResID());
\t \t \t break;
\t \t case 9:
\t \t \t fragment = new FragmentOne();
\t \t \t args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
\t \t \t \t \t .getItemName());
\t \t \t args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
\t \t \t \t \t .getImgResID());
\t \t \t break;
\t \t case 10:
\t \t \t fragment = new FragmentTwo();
\t \t \t args.putString(FragmentTwo.ITEM_NAME, dataList.get(possition)
\t \t \t \t \t .getItemName());
\t \t \t args.putInt(FragmentTwo.IMAGE_RESOURCE_ID, dataList.get(possition)
\t \t \t \t \t .getImgResID());
\t \t \t break;
\t \t case 11:
\t \t \t fragment = new FragmentThree();
\t \t \t args.putString(FragmentThree.ITEM_NAME, dataList.get(possition)
\t \t \t \t \t .getItemName());
\t \t \t args.putInt(FragmentThree.IMAGE_RESOURCE_ID, dataList
\t \t \t \t \t .get(possition).getImgResID());
\t \t \t break;
\t \t case 12:
\t \t \t fragment = new FragmentOne();
\t \t \t args.putString(FragmentOne.ITEM_NAME, dataList.get(possition)
\t \t \t \t \t .getItemName());
\t \t \t args.putInt(FragmentOne.IMAGE_RESOURCE_ID, dataList.get(possition)
\t \t \t \t \t .getImgResID());
\t \t \t break;
\t \t default:
\t \t \t break;
\t \t }
\t \t fragment.setArguments(args);
\t \t FragmentManager frgManager = getFragmentManager();
\t \t frgManager.beginTransaction().replace(R.id.content_frame, fragment)
\t \t \t \t .commit();
\t \t mDrawerList.setItemChecked(possition, true);
\t \t setTitle(dataList.get(possition).getItemName());
\t \t mDrawerLayout.closeDrawer(mDrawerList);
\t }
\t @Override
\t public void setTitle(CharSequence title) {
\t \t mTitle = title;
\t \t getActionBar().setTitle(mTitle);
\t }
\t @Override
\t protected void onPostCreate(Bundle savedInstanceState) {
\t \t super.onPostCreate(savedInstanceState);
\t \t // Sync the toggle state after onRestoreInstanceState has occurred.
\t \t mDrawerToggle.syncState();
\t }
\t @Override
\t public void onConfigurationChanged(Configuration newConfig) {
\t \t super.onConfigurationChanged(newConfig);
\t \t // Pass any configuration change to the drawer toggles
\t \t mDrawerToggle.onConfigurationChanged(newConfig);
\t }
\t @Override
\t public boolean onOptionsItemSelected(MenuItem item) {
\t \t // The action bar home/up action should open or close the drawer.
\t \t // ActionBarDrawerToggle will take care of this.
\t \t int id = item.getItemId();
\t \t if (mDrawerToggle.onOptionsItemSelected(item)) {
\t \t \t return true;
\t \t } else if (id == R.id.action_Home) {
\t \t \t Intent intent = new Intent(Welcome.this, Second.class);
\t \t \t startActivity(intent);
\t \t } else if (id == R.id.action_Contact) {
\t \t \t Intent intent = new Intent(Welcome.this, Contact.class);
\t \t \t startActivity(intent);
\t \t }
\t \t return false;
\t }
\t private class DrawerItemClickListener implements
\t \t \t ListView.OnItemClickListener {
\t \t @Override
\t \t public void onItemClick(AdapterView<?> parent, View view, int position,
\t \t \t \t long id) {
\t \t \t SelectItem(position);
\t \t }
\t }
}
Main class here my all activity class
package com.example.lunetta;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
public class Second extends Activity {
\t @Override
\t protected void onCreate(Bundle savedInstanceState) {
\t \t super.onCreate(savedInstanceState);
\t \t requestWindowFeature(Window.FEATURE_NO_TITLE);
\t \t getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
\t \t \t \t WindowManager.LayoutParams.FLAG_FULLSCREEN);
\t \t setContentView(R.layout.activity_second);
\t }
\t public void onClickNext(View view) {
\t \t Intent intent = new Intent(Second.this, MainActivity.class);
\t \t startActivityForResult(intent, 400);
\t \t overridePendingTransition(R.anim.slide_in_top, R.anim.slide_out_bottom);
\t }
\t @Override
\t protected void onActivityResult(int requestCode, int resultCode, Intent data) {
\t \t overridePendingTransition(R.anim.slide_in_bottom, R.anim.slide_out_top);
\t }
\t public void btnHome(View view) {
\t \t Intent intent = new Intent(Second.this, Welcome.class);
\t \t startActivity(intent);
\t }
\t public void aboutUsClick(View view) {
\t \t Fragment fragment = new FragmentTwo();
\t \t Intent intent = new Intent(Second.this, FragmentTwo.class);
\t \t startActivity(intent);
\t \t FragmentManager frgManager = getFragmentManager();
\t \t frgManager.beginTransaction().replace(R.id.content_frame, fragment)
\t \t \t \t .commit();
\t }
\t public void serviceClick(View view) {
\t \t Intent intent = new Intent(Second.this, Services.class);
\t \t startActivity(intent);
\t }
\t public void productClicked(View view) {
\t \t Intent intent = new Intent(Second.this, Product.class);
\t \t startActivity(intent);
\t }
\t public void marketingClicked(View view) {
\t \t Intent intent = new Intent(Second.this, Marketing.class);
\t \t startActivity(intent);
\t }
\t public void portfilioClicked(View view) {
\t \t Intent intent = new Intent(Second.this, Portfolio.class);
\t \t startActivity(intent);
\t }
\t public void careerlicked(View view) {
\t \t Intent intent = new Intent(Second.this, Career.class);
\t \t startActivity(intent);
\t }
\t public void requestClicked(View view) {
\t \t Intent intent = new Intent(Second.this, Request.class);
\t \t startActivity(intent);
\t }
\t public void contactClicked(View view) {
\t \t Intent intent = new Intent(Second.this, Contact.class);
\t \t startActivity(intent);
\t }
}
Here is my manifest file
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.lunetta"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/lunettaa"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Second"
android:label="@string/title_activity_second"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen" >
</activity>
<activity
android:name=".Welcome"
android:icon="@drawable/ic_drawer"
android:label="@string/title_activity_welcome"
android:screenOrientation="portrait" >
</activity>
<activity
android:name=".Contact"
android:label="@string/title_activity_contact" >
</activity>
<activity
android:name=".AboutUs"
android:label="@string/title_activity_about_us" >
</activity>
<activity
android:name=".Services"
android:label="@string/title_activity_services" >
</activity>
<activity
android:name=".Product"
android:label="@string/title_activity_product" >
</activity>
<activity
android:name=".Marketing"
android:label="@string/title_activity_marketing" >
</activity>
<activity
android:name=".Portfolio"
android:label="@string/title_activity_portfolio" >
</activity>
<activity
android:name=".Career"
android:label="@string/title_activity_career" >
</activity>
<activity
android:name=".Request"
android:label="@string/title_activity_request" >
</activity>
</application>
</manifest>
да, я добавил этот код ... –