卡视图按钮适配器

时间:2017-03-04 07:00:36

标签: android-layout android-studio android-cardview

我创建了一个空白的Activity并具有以下主要布局:activity_main.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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.solution.engineering.lecture_time.MainActivity">
    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="4dp"
        android:id="@+id/note">


        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="@dimen/activity_horizontal_margin">
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/title"
                android:text="@string/welcome"
                android:textAppearance="?android:textAppearanceLarge"/>
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/description"
                android:text="@string/description"
                android:textAppearance="?android:textAppearanceMedium"
                android:layout_below="@+id/title"/>

        </RelativeLayout>
    </android.support.v7.widget.CardView>
    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="4dp"
        android:layout_below="@id/note">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="@dimen/activity_horizontal_margin">
            <Button
                android:layout_width="200dp"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:text="@string/button_text"
                android:id="@+id/button_lecture">


            </Button>

        </RelativeLayout>


    </android.support.v7.widget.CardView>


</RelativeLayout>

我的MainActivity.java文件如下所示:

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    public Button lecture;
    public void setnew(){
        lecture=(Button)findViewById(R.id.lecture_button);
        lecture.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent create = new Intent(MainActivity.this,LectureActivity.class);
                startActivity(create);

            }
        });

    }


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setnew();
    }
}

我需要通过按钮单击启动一个新的Activity,此代码显示没有错误,但在我的设备上运行它时,它不会启动LectureActivity。 可能是我的java文件中可能发生的变化,以实现onclick。 如果这与cardview的适配器有关,那么我该如何定义适配器类。 我是android编程的新手。感谢任何帮助。谢谢。 enter image description here

1 个答案:

答案 0 :(得分:0)

我找到了问题的答案。不知道为什么这不起作用,但是,我将其改为startActivity(create)而不是MainActivity.this.startActivity(create);,而且它有效。