public void openNumbers (View view) {
Intent numbers = new Intent(this, NumbersActivity.class);
startActivity(numbers);
}
这些代码行有问题吗?我在(this,NumbersActivity.class)下面有红线;它说不能解决构造者的意图(......)'和红色文字startActivity说不能重新[在这里输入图像描述] [1]解决方法' startActivity(android.content.Intent)'
我是一个全新的
activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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:background="@color/tan_background"
android:orientation="vertical"
tools:context="com.example.android.miwok.MainActivity">
<TextView
android:id="@+id/numbers"
style="@style/CategoryStyle"
android:background="@color/category_numbers"
android:text="@string/category_numbers"
android:onClick="openNumbers"/>
<TextView
android:id="@+id/family"
style="@style/CategoryStyle"
android:background="@color/category_family"
android:text="@string/category_family" />
<TextView
android:id="@+id/colors"
style="@style/CategoryStyle"
android:background="@color/category_colors"
android:text="@string/category_colors" />
<TextView
android:id="@+id/phrases"
style="@style/CategoryStyle"
android:background="@color/category_phrases"
android:text="@string/category_phrases" />
</LinearLayout>
MainActivity.java
package com.example.android.miwok;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set the content of the activity to use the activity_main.xml layout file
setContentView(R.layout.activity_main);
}
public void openNumbers (View view) {
Intent numbers = new Intent(this, NumbersActivity.class);
startActivity(numbers);
}
}
AndroidManidest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.miwok">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".NumbersActivity" >
</activity>
<activity android:name=".PhrasesActivity" >
</activity>
<activity android:name=".FamilyActivity" >
</activity>
<activity android:name=".ColorsActivity">
</activity>
</application>
</manifest>
我知道错误是什么!错误是没有错误...虽然AS显示红色字体,但当我在手机上粘贴应用程序时,即使使用红色字体IDK为什么
我知道错误是什么!错误是没有错误...虽然AS显示红色字体,但当我在手机上粘贴应用程序时,即使使用红色字体IDK为什么
答案 0 :(得分:3)
当您从onClick()
方法开始活动时,因此在构建Intent
时,您必须使用当前Context
的{{1}}。
使用:强>
Activity
代替:
Intent numbers = new Intent(MainActivity.this, NumbersActivity.class);
仅供参考,您必须导入Intent numbers = new Intent(this, NumbersActivity.class);
才能使用android.content.Intent
。
最后,Intent
您的项目和Clean
。我希望你的问题能得到解决。
答案 1 :(得分:1)
将此替换为YourClassName.this,然后您的问题将得到解决
答案 2 :(得分:1)
用您的代码补充
\t
答案 3 :(得分:1)
使用没问题 Intent numbers = new Intent(MainActivity.this,NumbersActivity.class); Intent numbers = new Intent(this,NumbersActivity.class);
请清理项目并重建,看看问题是否仍然存在,我认为这将消失..
如果出现错误,工作室会向您显示一条消息,同样请您阅读该消息并将其发布以帮助相同...
答案 4 :(得分:0)
您只需声明方法&#34; openNumbers&#34;在活动中的onCreate方法之外
public void openNumbers (View view) {
Intent numbers = new Intent(CurrentActivity.this, NumbersActivity.class);
startActivity(numbers);
}