- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在线上有一个 onclicklistener:
mAssistUpdateButton = (Button) findViewById(R.id.assist_instr_btn);
mAssistUpdateButton.setOnClickListener(this);
应该调用:
public void onClick(View v) {
if (v == mAssistUpdateButton) {
但代码中似乎没有达到这一点。我已经看了好几遍了,似乎无法弄清楚我做错了什么。
非常感谢您的任何意见。
来源:
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.SQLException;
import android.net.Uri;
import android.os.Build;
import android.os.Build.VERSION_CODES;
import android.os.Bundle;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import android.text.Html;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class ConfigFinalActivity extends Activity implements OnClickListener {
private static final String TAG = "ConfigActivity";
TelephonyManager tm;
AlertDialog mErrorAlert = null;
private Notification mNotification = null;
private Button mXButton = null;
private Button mAssistUpdateButton = null;
private Button mAssistInstrButton = null;
private Button mReadAgainButton = null;
private int mInstructionNumber = 0;
public static ArrayList<String> NameArr = new ArrayList<String>();
public static ArrayList<String> ValueArr = new ArrayList<String>();
public static ArrayList<String> nameArr = new ArrayList<String>();
public static ArrayList<String> ApnArr = new ArrayList<String>();
public static ArrayList<String> mmscArr = new ArrayList<String>();
public static ArrayList<String> mmsportArr = new ArrayList<String>();
public static ArrayList<String> mmsproxyArr = new ArrayList<String>();
public static ArrayList<String> portArr = new ArrayList<String>();
public static ArrayList<String> proxyArr = new ArrayList<String>();
public static int count;
public static int TotalSteps = 8;
int i, g = 0, result = 0;
String Result = "";
public static ContentValues Values = new ContentValues();
XmlParserHandlerFinal handler;
public static final Uri APN_TABLE_URI = Uri
.parse("content://telephony/carriers");
public static String Base_URL = "https://www.mysettings.com/";
public static InputStream stream = null;
UpdateActivity update;
public static String status;
/** Called when the activity is first created. */
@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int version = android.os.Build.VERSION.SDK_INT;
tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
update = new UpdateActivity();
nameArr = update.getnameArr();
ApnArr = update.getApnArr();
mmscArr = update.getMMSCArr();
mmsproxyArr = update.getMmscProxyArr();
mmsportArr = update.getMmsPortArr();
proxyArr = update.getMmscProxyArr();
portArr = update.getMmsPortArr();
count = update.getCount();
if (ApnArr.isEmpty() || mmscArr.isEmpty() || mmsportArr.isEmpty()
|| mmsproxyArr.isEmpty() || proxyArr.isEmpty()
|| portArr.isEmpty()) {
tryagain();
} else if (version < VERSION_CODES.ICE_CREAM_SANDWICH) {
// Update APN table
try {
result = updateTable();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}// Settings updated with this atomic call
catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (result != -1) {
status = "success";
} else {
status = "failure";
}
if (status.equals("success")) {
completeUpdate();
} else if (status.equals("failure")) {
tryagain();
// showAlert(getString(R.string.unchanged_net10_dialog));
}
} else {// ICS and later versions
// Reduce number of steps to 6
TotalSteps = 6;
setContentView(R.layout.assist_instructions);
// String assistUpdate = getString(R.string.instructions_1);
// CharSequence styledText = Html.fromHtml(assistUpdate);
TextView assistText = (TextView) findViewById(R.id.apn_app_text_cta2);
// assistText.setText(styledText);
mAssistUpdateButton = (Button) findViewById(R.id.assist_instr_btn);
mAssistUpdateButton.setOnClickListener(this);
}
}
public void onClick(View v) {
if (v == mAssistUpdateButton) {
// Update button for ICS and up is selected
// Get the TextView in the Assist Update UI
TextView tv = (TextView) findViewById(R.id.apn_app_text_cta2);
String text = "";
CharSequence styledText = text;
switch (mInstructionNumber) {
case 0:
// Retrieve the instruction string resource corresponding the
// 2nd set of instructions
// text = String.format(getString(R.string.instructions_3),
// TotalSteps);
// styledText = Html.fromHtml(text);
// Update the TextView with the correct set of instructions
//tv.setText(styledText);
// Increment instruction number so the correct instructions
// string resource can be retrieve the next time the update
// button is pressed
mInstructionNumber++;
break;
case 1:
// First set of instructions for step by step process to update
// the APN Settings to the corresponding layout
//setContentView(R.layout.screen5);
//// String one_text = String.format(getString(R.string.one),
//// TotalSteps);
//// CharSequence styledText_one = Html.fromHtml(one_text);
// TextView one = (TextView) findViewById(R.id.text_one);
// one.setTextSize(18);
// one.setText(styledText_one);
// String two_text = String.format(getString(R.string.two),
// TotalSteps);
// CharSequence styledText_two = Html.fromHtml(two_text);
// TextView two = (TextView) findViewById(R.id.text_two);
// two.setTextSize(18);
// two.setText(styledText_two);
// String three_text = String.format(getString(R.string.three),
// TotalSteps);
// CharSequence styledText_three = Html.fromHtml(three_text);
// TextView three = (TextView) findViewById(R.id.text_three);
// three.setTextSize(18);
// three.setText(styledText_three);
mAssistUpdateButton = (Button) findViewById(R.id.assist_instr_btn);
mAssistUpdateButton.setOnClickListener(this);
mInstructionNumber++;
break;
case 2:
// second set of instructions for step by step process to update
// the APN Settings to the corresponding layout
// setContentView(R.layout.screen6);
// String four_text = String.format(getString(R.string.four),
// TotalSteps);
// styledText = Html.fromHtml(four_text);
// TextView four = (TextView) findViewById(R.id.text_four);
// four.setTextSize(18);
// four.setText(styledText);
// String five_text = String.format(getString(R.string.five),
// TotalSteps);
// styledText = Html.fromHtml(five_text);
// TextView five = (TextView) findViewById(R.id.text_five);
// five.setTextSize(18);
// five.setText(styledText);
// String six_text = String.format(getString(R.string.six),
// TotalSteps);
// styledText = Html.fromHtml(six_text);
// TextView six = (TextView) findViewById(R.id.text_six);
// six.setTextSize(18);
// six.setText(styledText);
// // String seven_text = String.format(getString(R.string.seven),
// TotalSteps);
// styledText = Html.fromHtml(seven_text);
// TextView seven = (TextView) findViewById(R.id.text_seven);
// seven.setTextSize(18);
// seven.setText(styledText);
// String eight_text = String.format(getString(R.string.eight),
// TotalSteps);
// styledText = Html.fromHtml(eight_text);
// TextView eight = (TextView) findViewById(R.id.text_eight);
// eight.setTextSize(18);
// eight.setText(styledText);
// just for testing
Result = "success";
mAssistUpdateButton = (Button) findViewById(R.id.assist_instr_btn);
if (Result.equalsIgnoreCase("success")) {
mAssistUpdateButton.setOnClickListener(this);
} else if (Result.equalsIgnoreCase("failure")) {
// // Displaying final layout after failure of Post-ICS
// settings
// read the result in the response ..if success go ahead
// else load the tryagain screen
// setContentView(R.layout.tryagain);
// setContentView(R.layout.tryagain);
String tryAgainText = "";
CharSequence styledTryAgainText;
// tryAgainText = String.format(
// getString(R.string.tryagain_text1), TotalSteps);
// styledTryAgainText = Html.fromHtml(tryAgainText);
// TextView tryAgain1 = (TextView) findViewById(R.id.tryagain_text1);
// tryAgain1.setText(styledTryAgainText);
// tryAgainText = String.format(
// getString(R.string.tryagain_text2), TotalSteps);
// styledTryAgainText = Html.fromHtml(tryAgainText);
// TextView tryAgain2 = (TextView) findViewById(R.id.tryagain_text2);
// tryAgain2.setText(styledTryAgainText);
//
// tryAgainText = String.format(
// getString(R.string.tryagain_text3), TotalSteps);
// styledTryAgainText = Html.fromHtml(tryAgainText);
// TextView tryAgain3 = (TextView) findViewById(R.id.tryagain_text3);
// tryAgain3.setText(styledTryAgainText);
}
mInstructionNumber++;
break;
case 3:
// final set of instructions
// setContentView(R.layout.assist_instructions_update);
// String last_instr_text = String.format(
// getString(R.string.instructions_5), TotalSteps);
// styledText = Html.fromHtml(last_instr_text);
// TextView last_text = (TextView) findViewById(R.id.apn_app_text_cta3);
// last_text.setText(styledText);
// // String last_instr_text1 = String.format(
// getString(R.string.thatsit), TotalSteps);
// styledText = Html.fromHtml(last_instr_text1);
// TextView last_text1 = (TextView) findViewById(R.id.thatsIt);
// last_text1.setText(styledText);
String mreadAgaintext = String
.format(getString(R.string.read_again_text));
styledText = Html.fromHtml(mreadAgaintext);
mAssistInstrButton = (Button) findViewById(R.id.assist_instr_btn);
//ReadAgainButton = (Button) findViewById(R.id.read_again_btn);
//ReadAgainButton.setText(styledText);
mAssistInstrButton.setOnClickListener(this);
//mReadAgainButton.setOnClickListener(this);
}
} else if (v == mAssistInstrButton) {
// "LET'S DO THIS" Button in final instructions screen for ICS and
// up is selected
Values = getValues();
startActivity(new Intent(Settings.ACTION_APN_SETTINGS));
try {
showNotification();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finish();
最佳答案
你不能像这样比较 View 对象。通常您会像这样比较按钮 ID:
public void onClick(View v) {
switch(v.getId()) {
case R.id.assist_instr_btn:
case R.id.button2:
}
}
编辑:我还建议您阅读 Java 中的测试对象相等性。使用 ==
对于基元来说很好,但对于对象来说通常不行。
关于java - OnClickListener 未按预期运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18256378/
当我单击图像时,它不会更改显示 TextView ,我哪里出错了? **List fields = new ArrayList(); for(int i = 0; i < 64; i+
我想做的是提供一个平台列表供用户选择。通过单击一个平台,它会将相应的 sql 表名称的名称放入变量中。但我不知道如何在我的提交按钮 clickListener 中使用该变量。这是我正在使用的代码部分。
我可以在我的 recyclerView holder 中实现它们 public class PagosPendientesViewHolder extends RecyclerView.ViewHol
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
当我想向 setOnClickListener 添加参数(例如按钮)时,我从 eclipse 警报中单击 View.OnClickListener() ,但 eclipse 类型 new OnClic
我看了http://developer.android.com/reference/android/view/package-summary.html并看到 View 类有一个名为“View.OnCl
我正在尝试 android 上的示例应用程序。我可以获得输出。 studentFormsActiviyt.java package com.example.android.accelerometerp
我有一个关于实现 OnClickListeners 以使用 ADT 进行开发的问题。我不确定哪种方法更有效,谁能告诉我每种方法的优缺点? class x extends Activity implem
我要问一个非常基本的问题,但我被困了很长时间。 在卡片 View 之后有一个回收 View ,每行有 2 个图像。现在我想在图像上创建点击监听器而不是 recycleview。 这个 Activity
我的理解是,当我创建一个监听点击的按钮对象时,我必须: 创建按钮对象 使用OnClickListner让它监听用户的点击 使用onClick在用户点击按钮后执行 Action 现在, setOnCli
我正在学习 android 开发的初学者教程,但我不明白这个错误。 错误在行“callButton.setOnClickListener(new OnClickListener() {” 是的,我知道
当使用下面的代码时,我不断收到错误,我知道还有另一种使用 onclick 函数的方法,android:onclick ...但我更喜欢这种“更清洁”的方式。 textview 的 id 名称是正确的,
尝试将 onClickListener 添加到我的 listView 中的项目时,我收到一条错误消息:“View 类型中的方法 setOnClickListener(View.OnClickListe
我有一个问题...我有不同的 TextView 和一个监听器。像这些: help_modul.setOnClickListener(this); help_timetable.setO
我创建了一个自定义的 AutocompleteAdapter,我需要允许用户选择某个对象(客户)。 我的 AutoCompleteAdapter 看起来像这样: package nl.raakict.
我有一个程序,它有一个用户可以编辑的文本框。当用户按下按钮时,会创建一个对话框,显示用户的文本和确认“是/否”选项。 public void setIP(View v){ //get the
这个问题在这里已经有了答案: NullPointerException accessing views in onCreate() (13 个回答) What is a NullPointerExce
我有一个自定义 View ,我想当我设置 onClickListener 时我总是会崩溃。 public class Holder extends View implements OnClickLis
我有一组复选框,它们都需要 OnClickListener 来查看它们何时被选中/取消选中。这是我所拥有的: CheckBox[] sens = new CheckBox[3]; for (int i
我有两个简单的不同类,其中一个类扩展了另一个类。我的第一个类是: public class MyObject {} 里面没有任何东西。 还有另一个: public class People exten
我是一名优秀的程序员,十分优秀!