Android OnClick失败了每个新项目

时间:2015-10-08 04:16:28

标签: android onclick onclicklistener

第一篇文章。我正在学习一些关于Android编程的课程,这些课程相当新,但不是一个完整的新手。我很久以前就有编程背景..

由于一些奇怪的原因,旧项目的OnClick运行正常,但我今天创建的每个项目,使用Genymotion或AVD,即使在我创建的以下准系统示例中,OnClick也不会触发。 https://www.dropbox.com/s/js1qh263vldte0z/deleteme.zip?dl=0

这是我正在处理的原始项目,我甚至无法点击按钮(好像前面有透明度或其他东西)。

如果有人可以解释为什么当我打开基于22的旧项目时,一切正常但现在在23上运行(16为落后)OnClick不起作用,对你来说非常好。谢谢!

布局:

<?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:orientation="vertical"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="ca.shaarable.planetxerox.admin_add_products_hardware">

<LinearLayout
    android:orientation="vertical"
    android:id="@+id/admin_add_printer_first"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.2">

    <TextView
        android:id="@+id/admin_add_printer_tv_name"
        android:text="@string/admin_add_printer_tv_name"
        android:textSize="12sp"
        android:layout_marginStart="10dp"
        android:layout_marginLeft="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>


    <EditText
        android:id="@+id/admin_add_printer_et_name"
        android:text="@string/admin_add_printer_et_name"
        android:layout_marginStart="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>


</LinearLayout>

<LinearLayout
    android:orientation="vertical"
    android:id="@+id/admin_add_printer_second"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.65">

    <TextView
        android:id="@+id/admin_add_printer_tv_thumbnail"
        android:text="@string/admin_add_printer_tv_thumbnail"
        android:textStyle="italic"
        android:layout_marginBottom="5dp"
        android:gravity="center_horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <ImageView
        android:id="@+id/admin_add_printer_image"
        android:src="@drawable/igen5"
        android:layout_gravity="center_horizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</LinearLayout>

<LinearLayout
    android:orientation="vertical"
    android:id="@+id/admin_add_printer_third"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.15">

    <LinearLayout
        android:id="@+id/admin_add_printer_sublayout"
        android:orientation="horizontal"
        android:layout_marginTop="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <LinearLayout
            android:layout_weight="1"
            android:layout_marginRight="10dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <Button
                android:id="@+id/admin_add_printer_CANCEL"
                android:text="@string/admin_add_printer_CANCEL"
                android:background="#F99F1C"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>

        </LinearLayout>

        <LinearLayout
            android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <Button
                android:id="@+id/admin_add_printer_ADD"
                android:text="@string/admin_add_printer_ADD"
                android:background="#2ABDBA"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>


        </LinearLayout>

    </LinearLayout>

</LinearLayout>

以下是该课程的代码:

package ca.shaarableapps.presssupport;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;

public class AdminAddPrinter extends AppCompatActivity implements   View.OnClickListener
{
private EditText printerName;
private ImageView printerThumbnail;
private Button cancelBtn, addBtn;
private static final String TAG = "MyActivity";
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_admin_add_printer);

    printerName = (EditText)findViewById(R.id.admin_add_printer_et_name);
    printerThumbnail = (ImageView)findViewById(R.id.admin_add_printer_image);
    cancelBtn = (Button)findViewById(R.id.admin_add_printer_CANCEL);
    addBtn = (Button)findViewById(R.id.admin_add_printer_ADD);

}

@Override
public void onClick(View v)
{
    Log.v(TAG, "Nooooooooooooo");
    switch (v.getId())
    {

        case R.id.admin_add_printer_ADD:
            addBtn.setText("Good Job");
            break;

    }
}

}

This is the layout as seen by the user...

2 个答案:

答案 0 :(得分:1)

尝试在onCreate(...)方法中添加.setOnClickListener(this);

protected void onCreate(Bundle savedInstanceState){
  ...
  addBtn.setOnClickListener(this);
}

希望这个帮助

答案 1 :(得分:-1)

问题在于你的代码。

                <Button
                android:id="@+id/admin_add_printer_ADD"
                android:text="@string/admin_add_printer_ADD"
                android:background="#2ABDBA"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:onClick="onClick" // add this line
               />