- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试做一个练习,这意味着我需要使用按钮从 imageView 更改图像。整个事情被实现到练习的另一个项目中。
问题是:在第二种情况下它甚至没有打开 Toast“测试”。
package de.vogella.android.temperature;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.Toast;
public class MainActivity extends Activity{
private EditText text;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (EditText) findViewById(R.id.editText1);
Button button1 = (Button) findViewById(R.id.tempbutton);
Button button2 = (Button) findViewById(R.id.imageconverter);
OnClickListener listener = new OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tempbutton:
button1Click();
break;
case R.id.imageconverter:
button2Click();
break;
}
}
};
button1.setOnClickListener(listener);
button2.setOnClickListener(listener);
}
public void button1Click (){
RadioButton celsiusButton = (RadioButton) findViewById(R.id.radio0);
RadioButton fahrenheitButton = (RadioButton) findViewById(R.id.radio1);
if (text.getText().length() == 0) {
Toast.makeText(this, "Please enter a valid number",
Toast.LENGTH_LONG).show();
return;
}
float inputValue = Float.parseFloat(text.getText().toString());
if (celsiusButton.isChecked()) {
text.setText(String.valueOf(ConverterUtil.convertFahrenheitToCelsius(inputValue)));
celsiusButton.setChecked(false);
fahrenheitButton.setChecked(true);
} else {
text.setText(String
.valueOf(ConverterUtil.convertCelsiusToFahrenheit(inputValue)));
fahrenheitButton.setChecked(false);
celsiusButton.setChecked(true);
}
}
public void button2Click (){
ImageView frontImageView = (ImageView) findViewById(R.id.myicon);
frontImageView.setImageResource(R.drawable.assigned);
Toast.makeText(this,"done", Toast.LENGTH_LONG).show();
}
}
XML 文件:
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@color/myColor"
tools:context=".MainActivity" >
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:inputType="numberSigned|numberDecimal"
android:ems="10" >
<requestFocus />
</EditText>
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText1"
android:layout_below="@+id/editText1" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/celsius" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/fahrenheit" />
</RadioGroup>
<Button
android:id="@+id/tempbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/radioGroup1"
android:layout_below="@+id/radioGroup1"
android:text="@string/calc"
android:onClick="onClick" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_alignParentBottom="true"
android:text="@string/author"
android:textAppearance="?android:attr/textAppearanceSmall" />
<DigitalClock
android:id="@+id/digitalClock1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textView1"
android:layout_alignLeft="@+id/textView1"
android:layout_alignRight="@+id/button1"
android:text="DigitalClock" />
<Button
android:id="@+id/imageconverter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button1"
android:layout_alignBottom="@+id/button1"
android:layout_centerHorizontal="true"
android:onClick="onClick"
android:text="Change Image" />
<ImageView
android:id="@+id/myicon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button2"
android:layout_below="@+id/button2"
android:src="@drawable/initial" />
</RelativeLayout>
日志:
02-25 16:03:00.228: E/AndroidRuntime(1363): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
02-25 16:03:00.228: E/AndroidRuntime(1363): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
02-25 16:03:00.228: E/AndroidRuntime(1363): at android.app.ActivityThread.access$800(ActivityThread.java:135)
02-25 16:03:00.228: E/AndroidRuntime(1363): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
02-25 16:03:00.228: E/AndroidRuntime(1363): at android.os.Handler.dispatchMessage(Handler.java:102)
02-25 16:03:00.228: E/AndroidRuntime(1363): at android.os.Looper.loop(Looper.java:136)
02-25 16:03:00.228: E/AndroidRuntime(1363): at android.app.ActivityThread.main(ActivityThread.java:5017)
02-25 16:03:00.228: E/AndroidRuntime(1363): at java.lang.reflect.Method.invokeNative(Native Method)
02-25 16:03:00.228: E/AndroidRuntime(1363): at java.lang.reflect.Method.invoke(Method.java:515)
02-25 16:03:00.228: E/AndroidRuntime(1363): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
02-25 16:03:00.228: E/AndroidRuntime(1363): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
02-25 16:03:00.228: E/AndroidRuntime(1363): at dalvik.system.NativeStart.main(Native Method)
02-25 16:03:00.228: E/AndroidRuntime(1363): Caused by: java.lang.NullPointerException
02-25 16:03:00.228: E/AndroidRuntime(1363): at android.app.Activity.findViewById(Activity.java:1884)
02-25 16:03:00.228: E/AndroidRuntime(1363): at de.vogella.android.temperature.MainActivity.<init>(MainActivity.java:24)
02-25 16:03:00.228: E/AndroidRuntime(1363): at java.lang.Class.newInstanceImpl(Native Method)
02-25 16:03:00.228: E/AndroidRuntime(1363): at java.lang.Class.newInstance(Class.java:1208)
02-25 16:03:00.228: E/AndroidRuntime(1363): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
02-25 16:03:00.228: E/AndroidRuntime(1363): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
02-25 16:03:00.228: E/AndroidRuntime(1363): ... 11 more
最佳答案
你煮错了。您应该找到您的按钮,然后附加监听器:
Button button1 = (Button) findViewById(R.id.tempbutton);
Button button2 = (Button) findViewById(R.id.imageconverter);
OnClickListener listener = new OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tempbutton:
button1Click();
break;
case R.id.imageconverter:
Toast.makeText(this, "test",Toast.LENGTH_LONG).show();
button2Click();
break;
}
}
};
button1.setOnClickListener(listener);
button2.setOnClickListener(listener);
关于android - 我的开关 (view.getId()) 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22025498/
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我正在处理一位离职顾问的一些代码。我试图了解传递给方法的 session 变量与 req.getSession() 返回的变量之间是否存在差异 当我在调试器中检查它们时,它们看起来是一样的。是否有理由
我在android中实现了一个媒体播放器,它可以在不同按钮的帮助下播放不同的文件。 public class MainActivity extends AppCompatActivity { Medi
当我使用 magentoshop 访问页面时;我收到此错误消息: 在第 85 行的/xxxxx/app/code/core/Mage/Catalog/Model/Product/Type/Config
我现在无法解决这个问题,所以任何帮助都会很棒.. for(EdgeOf e: gra.getEachVertex()) { System.out.println(e.getId()); }
Thread thbus = new Thread(bus); bus.setName("Bus"+ thbus.getId()); Thread thmechanics = new Thread(b
对于我的 Android 项目,我使用 getID() 方法来检索 View 的数值并将该值存储在我的数据库中。我相信针对特定 View 的此 getID() 方法将始终在生产环境中的多次执行以及多年
我记得在 JPA 或 hibernate 中有一个注释告诉 hibernate 使用 getId/setId 方法而不是属性(我们注释我们的属性)。如果没有此设置,getId 会导致访问数据库并填充该
我不确定这是否是导致我的问题的真正原因,但也许有人会知道。当我使用 Laravel Socialite 并执行以下操作时: $social_user = Socialite::driver($prov
这个问题已经有答案了: How to get Resource Name from Resource id (5 个回答) 已关闭 4 年前。 我的主要 Activity 中有一系列按钮,当我单击其中
我正在尝试实现一个 getter 方法来获取对象的 id:该方法应声明为“public int getId()”。 问题是对象类扩展了 Thread 类,该类已经具有“int getId()”方法。
嗨,我正在 Spring boot MongoDB 示例上做简单的应用程序。 我在运行 sprint boot 主类时收到此错误: BookController.java Error:(26, 54)
所以我使用了 view.getId() 来实现改变我所拥有的,就像这样: public void changeLinear(View view) { layoutPrimer.setVisib
HttpSession.getId() 返回的值是否保证在整个时间段内是唯一的——或者仅在所有 Activity session 中是唯一的? 换句话说,我可以将它用作 session 日志条目的 k
为什么,例如,Thread.currentThread().getId() 返回一个 long? 这真的需要 64 位吗?就像我要让一台机器运行那么多线程一样! 说真的,这有点痛苦,因为我正在写一些东
如果多个 Java 应用程序在一个系统上运行,每个线程 ID 相对于所有其他 Java 线程是否是唯一的,无论它们在哪个应用程序中运行? Java 应用程序应该相对于其他 Java 应用程序是沙盒的,
我是 android 编程的新手。我想更新 recyclerview 的卡片 View 布局中的项目。这是 recyclerview 的 ListRowViewHolder public static
本文整理了Java中java.time.ZoneOffset.getId()方法的一些代码示例,展示了ZoneOffset.getId()的具体用法。这些代码示例主要来源于Github/Stackov
本文整理了Java中java.time.ZoneId.getId()方法的一些代码示例,展示了ZoneId.getId()的具体用法。这些代码示例主要来源于Github/Stackoverflow/M
本文整理了Java中libcore.util.ZoneInfo.getID()方法的一些代码示例,展示了ZoneInfo.getID()的具体用法。这些代码示例主要来源于Github/Stackove
我是一名优秀的程序员,十分优秀!