- 此问题在此处已有答案**:
(23个答案)
昨天关门了。
我的应用程序在点击图片按钮时崩溃了,但我不知道为什么会这样,因为我是安卓应用程序开发的新手。我不知道如何使用intent。告诉我任何网络或youtube频道都可以用最好的方式学习安卓应用程序开发。
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/img"
android:textColor="@color/purple_700"
android:textStyle="bold"
android:textSize="45sp"
android:layout_marginStart="82dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content" app:srcCompat="@drawable/dr1" android:layout_alignParentStart="true"
android:layout_marginStart="88dp" android:layout_alignParentTop="true" android:layout_marginTop="87dp"
android:id="@+id/imageButton" android:layout_centerHorizontal="true"/>
<ImageButton
android:layout_width="231dp"
android:layout_height="316dp" app:srcCompat="@drawable/dr2" android:layout_alignParentStart="true"
android:layout_marginStart="98dp" android:layout_alignParentBottom="true"
android:layout_marginBottom="61dp" android:id="@+id/imageButton2" android:layout_centerHorizontal="true"/>
</RelativeLayout>`
我认为我没有正确使用意图,如果这是真正的请评论问题的意图
Mainactivity.kt
package com.dualact.picvew
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.ImageButton
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val mb1 : ImageButton = findViewById(R.id.imageButton)
val mb2 : ImageButton = findViewById(R.id.imageButton2)
mb1.setOnClickListener(){
val pic = Intent(this, PicviewActivity::class.java)
startActivity(pic)
}
mb2.setOnClickListener{
val pic = Intent(this, PicviewActivity::class.java)
startActivity(pic)
}
}
}
picview.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".PicviewActivity">
<ImageView
android:layout_width="405dp"
android:layout_height="match_parent" app:srcCompat="@drawable/dr1" android:layout_alignParentStart="true"
android:layout_marginStart="6dp" android:layout_alignParentTop="true" android:layout_marginTop="0dp"
android:id="@+id/imageview"/>
</RelativeLayout>
Picviewactivity.kt
package com.dualact.picvew
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ImageView
class PicviewActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val mv:ImageView= findViewById(R.id.imageview)
setContentView(R.layout.picview);
}
}
1条答案
按热度按时间9cbw7uwe1#
问题出在您的PreviewActivity中,您应该在获取视图之前调用setContentView。按如下所示更改PreviewActivity的onCreate()