2013-04-28 65 views
1

我意识到有关于此主题的许多问题,但我已经搜索了有关此问题的每一篇关于stackoverflow和google的文章,但仍无法解决我的问题。从一个活动更改为另一个导致应用程序崩溃

所以基本上我试图创造一个应用程序,利用NFC技术为个人项目,而我正在国外学习。我现在的第一个任务是简单地读写NFC标签来工作。出国留学只是相关的,因为语言障碍让他们在这里获得亲自帮助使其变得更加困难。

我尝试链接到的第一个活动是TagsActivity。这不起作用,所以我想我会创建另一个简单的活动来尝试链接到,这就是ToTag是什么。都没有工作。两者都已经在Manifest文件中,这似乎是解决许多类似问题的解决方案。

我一直在这个问题上坚持了几天,现在今天花了一个多小时才终于修复R.java问题,但修复后仍然存在这个问题。

我只是要发布几乎所有的相关代码,因为我真的很难为什么它不工作。

MainActivity

package com.example.myapp; 


import java.util.ArrayList; 
import java.util.List; 

import android.annotation.SuppressLint; 
import android.app.Activity; 
import android.content.Intent; 
import android.content.IntentFilter; 
import android.nfc.NdefMessage; 
import android.nfc.NdefRecord; 
import android.nfc.NfcAdapter; 
import android.nfc.Tag; 
import android.os.Build; 
import android.os.Bundle; 
import android.text.TextUtils; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.ProgressBar; 
import android.widget.Toast; 

public class TagsActivity extends Activity { 

private Button mEnableWriteButton; 
private EditText mTextField; 
private NfcAdapter mNfcAdapter; 
private ProgressBar mProgressBar; 
private boolean isWriteReady = false; 

private static final String MIME_TYPE = "application/com.myapp.nfc.tag"; 

public void processWriteIntent(Intent intent){ 
    if(isWriteReady &&   NfcAdapter.ACTION_TAG_DISCOVERED.equals(getIntent().getAction())){ 

     Tag detectedTag = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG); 

     String tagWriteMessage = mTextField.getText().toString(); 
     byte[] payload = new String(tagWriteMessage).getBytes(); 

     if(detectedTag != null && NfcUtils.writeTag(
       NfcUtils.createMessage(MIME_TYPE, payload), detectedTag)) { 

      Toast.makeText(this, "Wrote '" + tagWriteMessage + "' to a tag!", 
        Toast.LENGTH_LONG).show(); 
      setTagWriteReady(false); 
     } 
     else{ 
      Toast.makeText(this, "Write failed. Please try again.", Toast.LENGTH_LONG).show(); 
     } 
    } 
} 

public void processReadIntent(Intent intent){ 
    List<NdefMessage> intentMessages = NfcUtils.getMessagesFromIntent(intent); 
    List<String> payloadStrings = new ArrayList<String>(intentMessages.size()); 

    for(NdefMessage message : intentMessages){ 
     for(NdefRecord record : message.getRecords()){ 
      byte[] payload = record.getPayload(); 
      String payloadString = new String(payload); 

      if(!TextUtils.isEmpty(payloadString)){ 
       payloadStrings.add(payloadString); 
      } 
     } 
    } 

    if(!payloadStrings.isEmpty()){ 
     Toast.makeText(TagsActivity.this, "Read from tag: " + 
       TextUtils.join(",", payloadStrings), Toast.LENGTH_LONG); 
    } 
} 


/** 
* This method enables this activity to write a tag 
* 
* @param isWriteReady 
* 
*/ 
public void setTagWriteReady(boolean isWriteReady){ 
    this.isWriteReady = isWriteReady; 
    if(isWriteReady){ 
     IntentFilter[] writeTagFilters = new IntentFilter[] { 
       new IntentFilter(NfcAdapter.ACTION_TAG_DISCOVERED) }; 
     mNfcAdapter.enableForegroundDispatch(TagsActivity.this, NfcUtils.getPendingIntent(TagsActivity.this), 
       writeTagFilters, null); 
    } 
    else { 
     //Disable dispatch if not writing tags 
     mNfcAdapter.disableForegroundDispatch(TagsActivity.this); 
    } 


} 



@Override 
public void onNewIntent(Intent intent){ 
    //onResume gets called after this to handle the intent 
    setIntent(intent); 
} 

@Override 
public void onResume(){ 
    super.onResume(); 
    if(isWriteReady && NfcAdapter.ACTION_TAG_DISCOVERED.equals(getIntent().getAction())){ 
     processWriteIntent(getIntent()); 
    } 
    else if(!isWriteReady && 
      (NfcAdapter.ACTION_TAG_DISCOVERED.equals(
        getIntent().getAction()) 
        || NfcAdapter.ACTION_NDEF_DISCOVERED.equals(
          getIntent().getAction()))) { 
     processReadIntent(getIntent()); 
    } 

} 


@SuppressLint("NewApi") 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_tags); 

    /*Intent intent = getIntent(); 
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); 

    // Create the text view 
    TextView textView = new TextView(this); 
    textView.setTextSize(40); 
    textView.setText(message); 

    // Set the text view as the activity layout 
    setContentView(textView); */ 

    //Make sure we're running on Honeycomb or higher to use ActionBar 
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){ 
     //Show the Up button in the action bar 
     getActionBar().setDisplayHomeAsUpEnabled(true); 
    } 

    mTextField = (EditText) findViewById(R.id.progress_bar); 

    mProgressBar = (ProgressBar) findViewById(R.id.edit_message); 
    mProgressBar.setVisibility(View.GONE); 

    mEnableWriteButton = (Button) findViewById(R.id.enable_write_button); 
    mEnableWriteButton.setOnClickListener(new OnClickListener(){ 

     @Override 
     public void onClick(View v) { 

      setTagWriteReady(!isWriteReady); 
      mProgressBar.setVisibility(isWriteReady ? View.VISIBLE : View.GONE); 

     } 


    }); 

    mNfcAdapter = NfcAdapter.getDefaultAdapter(this); 
    if(mNfcAdapter == null){ 
     Toast.makeText(this, "Sorry, NFC not available on this device", Toast.LENGTH_SHORT).show(); 
    } 

} 





@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.tags, menu); 
    return true; 
} 

} 

TagsActivity

package com.example.myapp; 


import java.util.ArrayList; 
import java.util.List; 

import android.annotation.SuppressLint; 
import android.app.Activity; 
import android.content.Intent; 
import android.content.IntentFilter; 
import android.nfc.NdefMessage; 
import android.nfc.NdefRecord; 
import android.nfc.NfcAdapter; 
import android.nfc.Tag; 
import android.os.Build; 
import android.os.Bundle; 
import android.text.TextUtils; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.ProgressBar; 
import android.widget.Toast; 

public class TagsActivity extends Activity { 

private Button mEnableWriteButton; 
private EditText mTextField; 
private NfcAdapter mNfcAdapter; 
private ProgressBar mProgressBar; 
private boolean isWriteReady = false; 

private static final String MIME_TYPE = "application/com.myapp.nfc.tag"; 

public void processWriteIntent(Intent intent){ 
    if(isWriteReady && NfcAdapter.ACTION_TAG_DISCOVERED.equals(getIntent().getAction())){ 

     Tag detectedTag = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG); 

     String tagWriteMessage = mTextField.getText().toString(); 
     byte[] payload = new String(tagWriteMessage).getBytes(); 

     if(detectedTag != null && NfcUtils.writeTag(
       NfcUtils.createMessage(MIME_TYPE, payload), detectedTag)) { 

      Toast.makeText(this, "Wrote '" + tagWriteMessage + "' to a tag!", 
        Toast.LENGTH_LONG).show(); 
      setTagWriteReady(false); 
     } 
     else{ 
      Toast.makeText(this, "Write failed. Please try again.", Toast.LENGTH_LONG).show(); 
     } 
    } 
} 

public void processReadIntent(Intent intent){ 
    List<NdefMessage> intentMessages = NfcUtils.getMessagesFromIntent(intent); 
    List<String> payloadStrings = new ArrayList<String>(intentMessages.size()); 

    for(NdefMessage message : intentMessages){ 
     for(NdefRecord record : message.getRecords()){ 
      byte[] payload = record.getPayload(); 
      String payloadString = new String(payload); 

      if(!TextUtils.isEmpty(payloadString)){ 
       payloadStrings.add(payloadString); 
      } 
     } 
    } 

    if(!payloadStrings.isEmpty()){ 
     Toast.makeText(TagsActivity.this, "Read from tag: " + 
       TextUtils.join(",", payloadStrings), Toast.LENGTH_LONG); 
    } 
} 


/** 
* This method enables this activity to write a tag 
* 
* @param isWriteReady 
* 
*/ 
public void setTagWriteReady(boolean isWriteReady){ 
    this.isWriteReady = isWriteReady; 
    if(isWriteReady){ 
     IntentFilter[] writeTagFilters = new IntentFilter[] { 
       new IntentFilter(NfcAdapter.ACTION_TAG_DISCOVERED) }; 
     mNfcAdapter.enableForegroundDispatch(TagsActivity.this, NfcUtils.getPendingIntent(TagsActivity.this), 
       writeTagFilters, null); 
    } 
    else { 
     //Disable dispatch if not writing tags 
     mNfcAdapter.disableForegroundDispatch(TagsActivity.this); 
    } 


} 



@Override 
public void onNewIntent(Intent intent){ 
    //onResume gets called after this to handle the intent 
    setIntent(intent); 
} 

@Override 
public void onResume(){ 
    super.onResume(); 
    if(isWriteReady && NfcAdapter.ACTION_TAG_DISCOVERED.equals(getIntent().getAction())){ 
     processWriteIntent(getIntent()); 
    } 
    else if(!isWriteReady && 
      (NfcAdapter.ACTION_TAG_DISCOVERED.equals(
        getIntent().getAction()) 
        || NfcAdapter.ACTION_NDEF_DISCOVERED.equals(
          getIntent().getAction()))) { 
     processReadIntent(getIntent()); 
    } 

} 


@SuppressLint("NewApi") 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_tags); 

    /*Intent intent = getIntent(); 
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); 

    // Create the text view 
    TextView textView = new TextView(this); 
    textView.setTextSize(40); 
    textView.setText(message); 

    // Set the text view as the activity layout 
    setContentView(textView); */ 

    //Make sure we're running on Honeycomb or higher to use ActionBar 
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){ 
     //Show the Up button in the action bar 
     getActionBar().setDisplayHomeAsUpEnabled(true); 
    } 

    mTextField = (EditText) findViewById(R.id.progress_bar); 

    mProgressBar = (ProgressBar) findViewById(R.id.progress_bar); 
    mProgressBar.setVisibility(View.GONE); 

    mEnableWriteButton = (Button) findViewById(R.id.enable_write_button); 
    mEnableWriteButton.setOnClickListener(new OnClickListener(){ 

     @Override 
     public void onClick(View v) { 

      setTagWriteReady(!isWriteReady); 
      mProgressBar.setVisibility(isWriteReady ? View.VISIBLE : View.GONE); 

     } 


    }); 

    mNfcAdapter = NfcAdapter.getDefaultAdapter(this); 
    if(mNfcAdapter == null){ 
     Toast.makeText(this, "Sorry, NFC not available on this device", Toast.LENGTH_SHORT).show(); 
    } 

} 





@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.tags, menu); 
    return true; 
} 




} 

ToTag

package com.example.myapp; 

import android.app.Activity; 
import android.os.Bundle; 


public class ToTag extends Activity { 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_to_tag); 

    // TODO Auto-generated method stub 
} 

} 

MyApp的清单

<?xml version="1.0" encoding="utf-8"?> 
<manifest package="com.example.myapp" 
android:versionCode="1" 
android:versionName="1.0" xmlns:android="http://schemas.android.com/apk/res/android"> 

<uses-sdk 
    android:minSdkVersion="10" 
    android:targetSdkVersion="17" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.myapp.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name="com.example.myapp.TagsActivity" 
     android:label="@string/title_activity_tags" 
     android:launchMode="singleTop" 
     android:parentActivityName="com.example.myapp.MainActivity" > 
     <intent-filter> 
      <action android:name="android.nfc.action.NDEF_DISCOVERED" /> 

      <category android:name="android.intent.category.DEFAULT" /> 

      <data android:mimeType="application/com.example.myapp" /> 

      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.example.myapp.MainActivity" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.nfc.action.TAG_DISCOVERED" /> 

      <category android:name="android.intent.category.DEFAULT" /> 

      <data android:mimeType="application/com.example.myapp" /> 
     </intent-filter> 


    </activity> 
    <activity 
     android:name="com.example.myapp.ToTagActivity" 
     android:label="@string/title_activity_to_tag" 
     android:parentActivityName="com.example.myapp.MainActivity" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.myapp.MainActivity" /> 
    </activity> 
</application> 

</manifest> 

activity_main.xml中

<RelativeLayout 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" 
android:gravity="top" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".MainActivity" > 

<Button 
    android:id="@+id/enable_write_button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/edit_message" 
    android:layout_centerHorizontal="true" 
    android:text="@string/Write" 
    android:onClick="writeToTag"/> 

<EditText 
    android:id="@+id/edit_message" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="19dp" 
    android:ems="10" 
    android:hint="" > 

    <requestFocus /> 
</EditText> 

<Button 
    android:id="@+id/to_tags" 
    style="?android:attr/buttonStyleSmall" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/enable_write_button" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="21dp" 
    android:text="@string/to_tag" 
    android:onClick="toTag"/> 

</RelativeLayout> 

activity_tags.xml

<RelativeLayout 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" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".TagsActivity" > 

<Button 
    android:id="@+id/enable_write_button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="81dp" 
    android:text="@string/TagWriting" /> 

<ProgressBar 
    android:id="@+id/progress_bar" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/enable_write_button" 
    android:layout_centerHorizontal="true" /> 

<EditText 
    android:id="@+id/edit_message" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/enable_write_button" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="49dp" 
    android:ems="10" 
    android:hint="@string/edit_message" > 

    <requestFocus /> 
</EditText> 

</RelativeLayout> 

activity_to_tag.xml

<RelativeLayout 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" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".ToTagActivity" > 

<TextView 
    android:id="@+id/here" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="80dp" 
    android:layout_marginTop="51dp" 
    android:text="@string/Got_Here" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

</RelativeLayout> 

最后的logcat的错误

04-28 21:32:28.240: D/memalloc(20292): /dev/pmem: Mapped buffer base:0x5178b000       size:2641920 offset:2027520 fd:50 
04-28 21:32:28.320: D/memalloc(20292): /dev/pmem: Mapped buffer base:0x51dce000 size:3256320 offset:2641920 fd:53 
04-28 21:32:28.770: D/memalloc(20292): /dev/pmem: Mapped buffer base:0x522a8000 size:614400 offset:0 fd:56 
04-28 21:32:30.760: W/dalvikvm(20292): threadid=1: thread exiting with uncaught exception (group=0x40db71f8) 
04-28 21:32:30.780: E/AndroidRuntime(20292): FATAL EXCEPTION: main 
04-28 21:32:30.780: E/AndroidRuntime(20292): java.lang.IllegalStateException: Could not execute method of the activity 
04-28 21:32:30.780: E/AndroidRuntime(20292): at android.view.View$1.onClick(View.java:3057) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at android.view.View.performClick(View.java:3524) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at android.view.View$PerformClick.run(View.java:14194) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at android.os.Handler.handleCallback(Handler.java:605) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at android.os.Handler.dispatchMessage(Handler.java:92) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at android.os.Looper.loop(Looper.java:137) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at android.app.ActivityThread.main(ActivityThread.java:4476) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at java.lang.reflect.Method.invokeNative(Native Method) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at java.lang.reflect.Method.invoke(Method.java:511) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:816) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:583) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at dalvik.system.NativeStart.main(Native Method) 
04-28 21:32:30.780: E/AndroidRuntime(20292): Caused by: java.lang.reflect.InvocationTargetException 
04-28 21:32:30.780: E/AndroidRuntime(20292): at java.lang.reflect.Method.invokeNative(Native Method) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at java.lang.reflect.Method.invoke(Method.java:511) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at android.view.View$1.onClick(View.java:3052) 
04-28 21:32:30.780: E/AndroidRuntime(20292): ... 11 more 
04-28 21:32:30.780: E/AndroidRuntime(20292): Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class  {com.example.myapp/com.example.myapp.ToTag}; have you declared this activity in your AndroidManifest.xml? 
04-28 21:32:30.780: E/AndroidRuntime(20292): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1536) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1390) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at android.app.Activity.startActivityForResult(Activity.java:3361) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at android.app.Activity.startActivity(Activity.java:3468) 
04-28 21:32:30.780: E/AndroidRuntime(20292): at com.example.myapp.MainActivity.toTag(MainActivity.java:33) 
04-28 21:32:30.780: E/AndroidRuntime(20292): ... 14 more 
04-28 21:39:53.060: D/memalloc(20645): /dev/pmem: Mapped buffer base:0x5178b000 size:2641920 offset:2027520 fd:50 
04-28 21:39:53.150: D/memalloc(20645): /dev/pmem: Mapped buffer base:0x51b30000 size:3256320 offset:2641920 fd:53 
04-28 21:39:53.610: D/memalloc(20645): /dev/pmem: Mapped buffer base:0x5205c000 size:614400 offset:0 fd:56 
04-28 21:39:54.170: W/dalvikvm(20645): threadid=1: thread exiting with uncaught exception (group=0x40db71f8) 
04-28 21:39:54.180: E/AndroidRuntime(20645): FATAL EXCEPTION: main 
04-28 21:39:54.180: E/AndroidRuntime(20645): java.lang.IllegalStateException: Could not execute method of the activity 
04-28 21:39:54.180: E/AndroidRuntime(20645): at android.view.View$1.onClick(View.java:3057) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at android.view.View.performClick(View.java:3524) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at android.view.View$PerformClick.run(View.java:14194) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at android.os.Handler.handleCallback(Handler.java:605) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at android.os.Handler.dispatchMessage(Handler.java:92) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at android.os.Looper.loop(Looper.java:137) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at android.app.ActivityThread.main(ActivityThread.java:4476) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at java.lang.reflect.Method.invokeNative(Native Method) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at java.lang.reflect.Method.invoke(Method.java:511) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:816) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:583) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at dalvik.system.NativeStart.main(Native Method) 
04-28 21:39:54.180: E/AndroidRuntime(20645): Caused by: java.lang.reflect.InvocationTargetException 
04-28 21:39:54.180: E/AndroidRuntime(20645): at java.lang.reflect.Method.invokeNative(Native Method) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at java.lang.reflect.Method.invoke(Method.java:511) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at android.view.View$1.onClick(View.java:3052) 
04-28 21:39:54.180: E/AndroidRuntime(20645): ... 11 more 
04-28 21:39:54.180: E/AndroidRuntime(20645): Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class  {com.example.myapp/com.example.myapp.ToTag}; have you declared this activity in your AndroidManifest.xml? 
04-28 21:39:54.180: E/AndroidRuntime(20645): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1536) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1390) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at android.app.Activity.startActivityForResult(Activity.java:3361) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at android.app.Activity.startActivity(Activity.java:3468) 
04-28 21:39:54.180: E/AndroidRuntime(20645): at com.example.myapp.MainActivity.toTag(MainActivity.java:33) 
04-28 21:39:54.180: E/AndroidRuntime(20645): ... 14 more 

对不起,我的代码墙, b如果直到早上我忘记了任何东西,我将无法更新,所以我想包括所有相关的东西。很明显,这是我在这里的第一篇文章,我试图进行关于格式化的研究,但我确定我搞砸了一些东西,所以我提前道歉。

EDIT1:修正了它具有“ToTagActivity”而非“ToTag”的清单。现在我需要找出一些可能类似的过渡到TagsActivity的错误。

编辑2:修正了错误,我不小心试图将进度条投到EditText。

编辑3:明白!经过一些更多的筛选错误和搜索周围的网站后,发现我忘记了我的清单中的NFC许可!

回答

2

错误消息

04-28 21:39:54.180: E/AndroidRuntime(20645): Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class  {com.example.myapp/com.example.myapp.ToTag}; have you declared this activity in your AndroidManifest.xml? 

所以我们检查你的清单,看起来很好

<activity 
    android:name="com.example.myapp.ToTagActivity" 

public class ToTag extends Activity 
+0

谢谢完美,修复了从MainActivity到ToTag的简单转换。所以我知道我至少可以做简单的转换工作。现在我必须弄清楚标签活动的过渡! – bcannariato 2013-04-29 07:59:05

2

您显然注册了一个名为com.example.myapp.ToTagActivity的活动,但您的课程名为com.example.myapp.ToTag。用正确的类名更新您的mainifest。

+0

好真棒该固定从主到ToTag过渡!谢谢!现在,我必须尝试筛选错误,以找到错误的标签活动过渡 – bcannariato 2013-04-29 07:57:05