为什么点击后文字变成不开心了,但图片却不变化?

为什么点击后文字变成不开心了,但图片却不变化?

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

    <TextView 

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="你今天开心吗?"/>

    <ImageView 

        android:id="@+id/imageView"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        

        android:src="@drawable/happy"

        

        />

    <ToggleButton 

        android:id="@+id/tb"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:checked="true"

        android:textOn="开心"

        android:textOff="不开心"

        />


</LinearLayout>



package com.yangxj.togglebutton;


import android.app.Activity;

import android.hardware.SensorEventListener;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.ImageView;

import android.widget.RadioGroup;

import android.widget.RadioGroup.OnCheckedChangeListener;

import android.widget.Toast;

import android.widget.ToggleButton;


public class MainActivity extends Activity {

private ImageView iv;

private ToggleButton tb;

private toggleButtonListener tbl;


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_togglebutton);

initview();

setListener();


}


private void setListener() {

// TODO Auto-generated method stub

tb.setOnClickListener(tbl);

}


private void initview() {

// 初始化控件

iv = (ImageView) findViewById(R.id.imageView);

tb = (ToggleButton) findViewById(R.id.tb);


}


class toggleButtonListener implements OnClickListener {


@Override

public void onClick(View v) {

// TODO Auto-generated method stub

if (tb.isChecked()) {

Toast.makeText(MainActivity.this, tb.getText().toString(), 100).show();

iv.setImageResource(R.drawable.happy);

} else {

Toast.makeText(MainActivity.this, tb.getText().toString(), 100).show();

iv.setImageResource(R.drawable.unhappy);


}

}


}


}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
慕无忌5237671 2018-06-03 10:11:30

如果没看错的话,你的图片只有一张吧?我没看到你的unhappy的图片。如果有的话,当我没说

irista23 2018-05-21 10:20:20

下图红框的位置添加如下代码:

tbl=new toggleButtonListener();

http://img1.sycdn.imooc.com//climg/5b0244bb0001134c04740219.jpg

  • 同意,tbl没有初始化。
    2018-05-29 00:00:53
Tender10 2018-05-20 16:43:22

在点击文字会显示成开心吗?一直点击ToggleButton都是TextView会变ImageView不会变吗。

  • 提问者 wo蜗牛niu #1
    是的,ImageView的图片一直不变,文字可以正常切换。
    2018-05-20 19:22:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师