【问题标题】:Activity won't open活动打不开
【发布时间】:2012-03-28 00:27:40
【问题描述】:

我有一个在 Android 中打开一个新活动的按钮,但它什么也没做。

第一个活动的 Java:

public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.lists);


        }

 @Override
 public void onConfigurationChanged(Configuration newConfig) {
   // ignore orientation/keyboard change
   super.onConfigurationChanged(newConfig);


        ListView listsList = (ListView) findViewById(R.id.lists);  
       Button newList = (Button) findViewById(R.id.newlistbutton);
        newList.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                 Intent myIntent = new Intent(v.getContext(), NewWishList.class);
                 startActivity(myIntent);
            }
        });
 }
}

Java 用于第二个活动:

public class NewWishList extends Activity {

     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.newlist);

         Button back = (Button) findViewById(R.id.backbutton);
            back.setOnClickListener(new View.OnClickListener() {
                public void onClick(View view) {
                    Intent intent = new Intent(view.getContext(), ListOfLists.class);
                    startActivity(intent);
                }

            });
     }
@Override
public void onConfigurationChanged(Configuration newConfig) {
  // ignore orientation/keyboard change
  super.onConfigurationChanged(newConfig);

  RadioGroup option = (RadioGroup) findViewById(R.id.radioGroup1);

}   
}

清单:

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

<uses-sdk
    android:minSdkVersion="7" />

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

<uses-feature android:name="android.hardware.screen.portrait"/>


<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:screenOrientation="portrait"
    android:theme="@android:style/Theme.Black.NoTitleBar">
    <activity
        android:name="com.wish.list.FacebookSignIn"
        android:label="@string/app_name"
        android:configChanges="orientation|keyboardHidden"
        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=".ListOfLists"
    android:configChanges="orientation|keyboardHidden"
    android:screenOrientation="portrait"
    ></activity>

<activity 
android:name=".NewWishList"
android:configChanges="orientation|keyboardHidden"
    android:screenOrientation="portrait"
></activity>

</application>
</manifest>

Logcat 或错误日志中没有错误。这很奇怪。我有 onConfigurationChange 的原因是因为我将它设置为强制纵向方向。活动在 Manifest 中定义。

【问题讨论】:

  • 什么是“v”?发布您的清单。
  • @JeffreyBlattman public void onClick(View v) 位于第一个活动中按钮的 OnClickListener 中。我现在将发布清单。
  • 在 onClick 方法中设置断点或调试日志,它可能不会被调用,因为尚未调用 onConfigurationChanged 来设置 onclick 监听器。

标签: android android-intent android-manifest


【解决方案1】:

首先,尝试使用

MyActivity.this 

为了上下文。

【讨论】:

  • 所以它会是 new Intent(ListOfLists.this, NewWishList.class) ?那也没有用。 (第一个活动是 ListofLists,第二个是 NewWishList)
  • 第一,活动开始的时候你仔细看logcat了吗?有时它们会出现一些微妙的问题,这些问题不会出现在 Eclipse 中。第二,你确定活动没有开始吗?是否由于某种原因在启动时失败?第三,你确定onClick()代码执行了吗?
【解决方案2】:

代替:

v.getcontext()

试试

getApplicationContext()

【讨论】:

    【解决方案3】:

    您使用的是什么 IDE?可能是Android Studio? 这样做。

    1. 退出工作室。
    2. 删除.idea\workspace.xml文件
    3. 重新启动并重试

    在 Android Studio 1.0 上为我工作!

    【讨论】:

      猜你喜欢
      • 2019-02-03
      • 2019-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-25
      • 2017-02-25
      • 1970-01-01
      相关资源
      最近更新 更多