我无法在android studio中打开我的第二个活动

时间:2016-04-04 06:34:46

标签: android android-layout listview android-studio

我正在尝试使用两个活动创建一个小应用程序,但是当我进入第二个活动时,我的应用程序已停止。 代码中没有错误,但是当我从我的应用程序启动第二个活动时,它崩溃了。 And it start showing this error log "FATAL Exception"

这是我的详细活动代码,当我从我的虚拟设备打开此活动时,它已停止。

   package com.example.sj.dgapps3;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

public class DetailActivity extends AppCompatActivity {
    protected String name ;
    protected int pos;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_detail);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        name = getIntent().getStringExtra(MainActivity.Name);
        TextView textView = (TextView) findViewById(R.id.name);
        textView.setText(name);

        pos = getIntent().getIntExtra(MainActivity.Position, 0);
        TextView textView1 = (TextView) findViewById(R.id.position);
        textView1.setText(pos);


        int qual = getIntent().getIntExtra(MainActivity.Qualification, 0);
        TextView textView2 = (TextView) findViewById(R.id.qualification1);
        textView1.setText(qual);

        int exp = getIntent().getIntExtra(MainActivity.Expertise, 0);
        TextView textView3 = (TextView) findViewById(R.id.expertise1);
        textView1.setText(exp);

        int con = getIntent().getIntExtra(MainActivity.Contact, 0);
        TextView textView4 = (TextView) findViewById(R.id.contact1);
        textView1.setText(con);

        /*String pic = getIntent().getStringExtra(MainActivity.Pic);
        ImageView imageView = (ImageView) findViewById(R.id.empPic);
        imageView.setImageResource(imageView);*/

        /*ImageView imageView = (ImageView) findViewById(R.id.empPic);
        int res = getResources().getIdentifier(teamDetails.getPic(), "drawable", context.getPackageName());
        imageView.setImageResource(res);*/




        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
    }

}

这是我的详细活动的XML代码。              

    <ImageView
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:id="@+id/imageView"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/name"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/imageView"
        android:layout_marginTop="45dp"
        android:layout_marginLeft="40dp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/position"
        android:layout_below="@+id/name"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginLeft="60dp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/qualification"
        android:text="Qualification:"
        android:layout_below="@+id/imageView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="43dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/expertise"
        android:text="Expertise:"
        android:layout_below="@+id/qualification"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/contact"
        android:text="Contact:"
        android:layout_below="@+id/expertise"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/qualification1"
        android:layout_alignBottom="@+id/qualification"
        android:layout_toRightOf="@+id/qualification"
        android:layout_marginLeft="50dp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/expertise1"
        android:layout_alignBottom="@+id/expertise"
        android:layout_alignLeft="@+id/qualification1"
        android:layout_alignStart="@+id/qualification1" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/contact1"
        android:layout_alignBottom="@+id/contact"
        android:layout_alignLeft="@+id/qualification1"
        android:layout_alignStart="@+id/qualification1" />

</RelativeLayout>

3 个答案:

答案 0 :(得分:2)

在第30行的DetailActivity中,您尝试设置TextView的文本是这样的:

textView.setText(0)

将整数传递给setText时,它引用字符串资源。在这种情况下,0不是有效的字符串ID。

考虑传递字符串(textView.setText("0"))或在strings.xml中创建该字符串资源,并在代码中引用它:textView.setText(R.string.myString)

答案 1 :(得分:0)

问题是你将int(qual,exp,con)值赋给setText()。

将int转换为字符串,然后设置为TexView文本。

int qual = getIntent().getIntExtra(MainActivity.Qualification, 0);
TextView textView2 = (TextView) findViewById(R.id.qualification1);
textView1.setText(String.valueOf(qual));

int exp = getIntent().getIntExtra(MainActivity.Expertise, 0);
TextView textView3 = (TextView) findViewById(R.id.expertise1);
textView1.setText(String.valueOf(exp));

int con = getIntent().getIntExtra(MainActivity.Contact, 0);
TextView textView4 = (TextView) findViewById(R.id.contact1);
textView1.setText(String.valueOf(con));

答案 2 :(得分:-3)

你检查了清单吗? 你需要在那里添加你的活动。