gpt4 book ai didi

java - image.setImageDrawable 导致应用程序崩溃

转载 作者:行者123 更新时间:2023-12-02 06:12:35 28 4
gpt4 key购买 nike

不明白为什么,但我在 Eclipse 上没有错误,(简单的类应用程序 - 按钮创建新 Activity ,将 textView 和 imageView 发送到新 Activity ),但是一旦我运行我的应用程序,我按下我的按钮,应用程序崩溃,我在 LogCat 上收到此错误

日志猫

02-12 17:13:26.297: E/AndroidRuntime(398): Caused by: java.lang.NullPointerException
02-12 17:13:26.297: E/AndroidRuntime(398): at edu.colum.iam.SecondPage.onCreate(SecondPage.java:38)

当我取出该行(以及任何其他会影响它的行)时,应用程序运行正常,并将我的 textView 发送过来。这是我的 .java,我也会发布 xml 以防万一。

IntentsActivity.java

public class IntentsActivity extends Activity {
/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Button btn = (Button)this.findViewById(R.id.button1);
btn.setOnClickListener(myListener);

}




// Create an anonymous implementation of OnClickListener
View.OnClickListener myListener = new View.OnClickListener()
{

public void onClick(View v) {


Intent myIntent = new Intent(IntentsActivity.this, SecondPage.class);
String text = ((TextView)findViewById(R.id.textView1)).getText().toString();
ImageView Selection = ((ImageView) findViewById(R.id.imageView1));
myIntent.putExtra("Text", text);
myIntent.putExtra("img", R.drawable.icon);
or an image)
startActivity(myIntent);
//endclass

SecondPage.java

public class SecondPage extends Activity {

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

//get extras
Intent intent = this.getIntent();
Bundle b = intent.getExtras();
String text = b.getString("Text");

//show text
TextView tv = (TextView) findViewById(R.id.textView1);
tv.setText(text);

//show image
ImageView image = (ImageView) findViewById(R.id.imageView1);
int resource = getIntent().getIntExtra("img", R.drawable.icon);
image.setImageDrawable(getResources().getDrawable(resource));
// ^ this is the line my logcat crashes as an error

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button android:text="@string/Button1" android:id="@+id/button1"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

<TextView android:id="@+id/textView1" android:text="@string/FirstLayout"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_width="wrap_content"></TextView>

<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon" />

</LinearLayout>

第二个.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView android:layout_width="wrap_content" android:id="@+id/textView1"
android:text="@string/SecondLayout"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_height="wrap_content"></TextView>

<Button android:text="@string/Button2" android:id="@+id/button1"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

</LinearLayout>

最佳答案

根据您发布的 layoutimageView1 位于您的第一个 xml 中,而不是位于 second.xml 中,后者是您在 SecondPage.java 因此,当您尝试调用它的方法时,它自然是 null

您需要将 ImageView 添加到 second.xml 中。

关于java - image.setImageDrawable 导致应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21762434/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com