Android force关闭解析整数和引用按钮
如果第一个活动已经有一个acount,那么第一个活动会取用户的名字和密码,第二个view类将会打开,否则用户应该首先唱歌。Android force关闭解析整数和引用按钮
我有两个共同的问题:
1-的整数原因力解析由logcat的接近通知
2-第二按钮化妆也强制关闭
package sarah.android;
import android.R.integer;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class SelesMeter2Activity extends Activity
implements OnClickListener{
EditText ed1;
EditText ed2;
Button b1;
Button b2;
SQLiteDatabase sql;
Cursor c;
Intent in;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ed1=(EditText) findViewById(R.id.ed1);
ed2=(EditText) findViewById(R.id.ed2);
b1= (Button) findViewById(R.id.bt1);
b2= (Button) findViewById(R.id.bt2);
b1.setOnClickListener(this);
b2.setOnClickListener(this);
sql=openOrCreateDatabase("db",0, null);
sql.execSQL("CREATE TABLE if not exists " +
"Employee2 (password integer NOT NULL PRIMARY KEY,name text NOT NULL)");
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//log in
if(arg0.getId()==R.id.bt1)
{
String name=ed1.getText().toString();
Integer pass=Integer.parseInt
(ed2.getText().toString());
if(c.getCount()!=0)
{
c=sql.rawQuery("select * from Employee", null);
while(c.moveToNext())
{
if(name.equals("c.getString(1)")&&pass==c.getInt(0))
{
in=new Intent(this,secondview.class);
startActivity(in);
break;
}
}
}
else
{
Toast.makeText(this,"please sign up first or enter " +
"correct data", 2000).show();
}
}
else if(arg0.getId()==R.id.bt2)
{
//sign up
Intent in2=new Intent(this,signup.class);
startActivity(in);
}
}
}
输入用户新信息的唱歌班: 包sarah.android;
您需要先检查您正在转换的文本是否为数值;否则,parseInt(...)
将失败。
可以使用try/catch
做到这一点:
String sp = e2.getText().toString();
try {
// Attempt to parse the number as an integer
int p=Integer.parseInt(sp);
// This insertion will *only* execute if the parseInt was successful
obj.sql.execSQL("insert into Employee2 (password,name)values('"+n+"',"+p+")");
} catch (NumberFormatException nfe) {
// parseInt failed, so tell the user it's not a number
Toast.makeText(this, "Sorry, " + sp + " is not a number. Please try again.", Toast.LENGTH_LONG).show();
}
您的时间埃里克但我十分感谢仍然有同样的问题: – Syamic 2012-08-11 04:04:00
日志猫错误:java.lang.NumberFormatException:无法解析“”作为整数 – Syamic 2012-08-11 04:04:36
我在第一个活动修改了上单击代码通过尝试catch将其包围如你所说这是修改的部分: 如果(arg0.getId()== R.id.bt1) \t \t { \t \t \t INT p = 0; \t \t \t String name = ed1.getText()。toString(); \t \t \t String sp = ed2.getText()。toString(); \t \t \t尝试{ \t \t \t //试图解析该数为一个整数 \t \t \t P =的Integer.parseInt(SP); \t \t \t} \t \t \t赶上(NumberFormatException的NFE){ \t \t \t // parseInt函数失败,所以告诉用户它不是一个数量 \t \t \t Toast.makeText(这一点, “对不起,” + SP +“不是数字,请重试。“,Toast.LENGTH_LONG).show(); – Syamic 2012-08-11 04:08:55
你有什么问题吗? – Raptor 2012-08-11 03:25:57
我想将edittext的值转换成整数,不用强制关闭 – Syamic 2012-08-11 03:28:22
我有编号formate日志猫异常 – Syamic 2012-08-11 03:29:21