sherlockfragment与异步任务android
我在sherlockfragment与异步任务android,android,actionbarsherlock,Android,Actionbarsherlock,我在SherlockFragment中使用了AsyncTask,得到了这个错误,我不知道为什么 public class MainActivity extends SherlockFragmentActivity { ViewPager vPager; PageIndicator pIndicator; ViewPagerAdapter mAdapter; private Button cont; private EditText email; private HttpClassHandler
SherlockFragment
中使用了AsyncTask
,得到了这个错误,我不知道为什么
public class MainActivity extends SherlockFragmentActivity {
ViewPager vPager;
PageIndicator pIndicator;
ViewPagerAdapter mAdapter;
private Button cont;
private EditText email;
private HttpClassHandler handler;
private JSONObject jObj;
private static boolean SliderClick = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
strickMode();
initialize();
clicklistners();
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
};
private void initialize() {
mAdapter = new ViewPagerAdapter(getSupportFragmentManager());
vPager = (ViewPager) findViewById(R.id.pager);
pIndicator = (PageIndicator) findViewById(R.id.indicator);
vPager.setAdapter(mAdapter);
pIndicator.setViewPager(vPager);
((CirclePageIndicator) pIndicator).setSnap(true);
email = (EditText) findViewById(R.id.email);
cont = (Button) findViewById(R.id.continue_btn);
handler = new HttpClassHandler();
final Handler mHandler = new Handler();
new Thread(new Runnable() {
@Override
public void run() {
while (SliderClick) {
try {
Thread.sleep(5000);
mHandler.post(new Runnable() {
@Override
public void run() {
if (vPager.getCurrentItem() == 5) {
vPager.setCurrentItem(0, true);
} else {
vPager.setCurrentItem(
vPager.getCurrentItem() + 1, true);
}
}
});
} catch (Exception e) {
}
}
}
}).start();
}
public void clicklistners() {
vPager.setPageTransformer(false, new ViewPager.PageTransformer() {
@Override
public void transformPage(View page, float position) {
final float normalizedposition = Math.abs(Math.abs(position) - 1);
page.setScaleX(normalizedposition / 2 + 0.5f);
page.setScaleY(normalizedposition / 2 + 0.5f);
}
});
cont.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String user_mail = email.getText().toString();
if (user_mail.equals("")) {
AlertDialog.Builder d = new AlertDialog.Builder(
MainActivity.this);
d.setTitle("Error");
d.setIcon(R.drawable.signup_btn_bg);
d.setMessage("Please Enter Your email");
d.setNeutralButton("OK", null);
d.create();
d.show();
} else {
if (validateEmail(user_mail)) {
AsyncTask<Void, Void, Boolean> task = new AsyncTask<Void, Void, Boolean>() {
ProgressDialog progress;
@Override
protected void onPreExecute() {
super.onPreExecute();
progress = ProgressDialog.show(
MainActivity.this, "Checking Login",
"Please Wait...");
}
@Override
protected void onPostExecute(Boolean result) {
super.onPostExecute(result);
progress.dismiss();
if (result) {
Intent i = new Intent(MainActivity.this,
SignInActicity.class);
startActivity(i);
MainActivity.this.onCreate(null);
} else {
try {
Toast.makeText(MainActivity.this,
jObj.getString("message"),
Toast.LENGTH_LONG).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
}
@Override
protected Boolean doInBackground(Void... params) {
jObj = handler.checkMail(user_mail);
try {
String msg = jObj.getString("success")
.toString();
if (msg.equals("1")) {
return true;
} else if (msg.equals("0")) {
return false;
}
} catch (JSONException e) {
Toast.makeText(MainActivity.this,
"Error occurred", Toast.LENGTH_LONG)
.show();
e.printStackTrace();
}
return false;
}
};
task.execute();
} else {
Toast.makeText(MainActivity.this,
"Enter a Valid Email Address!",
Toast.LENGTH_LONG).show();
}
}
}
});
}
public static boolean validateEmail(String email) {
boolean isValid = false;
String expression = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";
CharSequence inputStr = email;
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputStr);
if (matcher.matches()) {
isValid = true;
}
return isValid;
}
公共类MainActivity扩展了SherlockFragmentActivity{
可视寻呼机;
页面指示器;
ViewPagerAdapter mAdapter;
私人按钮控制;
私人文本电子邮件;
私有HttpClassHandler;
私人JSONObject jObj;
私有静态布尔SliderClick=true;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
strickMode();
初始化();
clicklistners();
}
@凌驾
SaveInstanceState上的公共无效(束超出状态){
super.onSaveInstanceState(超出状态);
};
私有void初始化(){
mAdapter=newviewPageRadapter(getSupportFragmentManager());
vPager=(ViewPager)findViewById(R.id.pager);
pIndicator=(PageIndicator)findViewById(R.id.indicator);
vPage.setAdapter(mAdapter);
pIndicator.setViewPager(vPager);
((CirclePageIndicator)pIndicator).setSnap(真);
email=(EditText)findviewbyd(R.id.email);
cont=(按钮)findviewbyd(R.id.continue\u btn);
handler=新的HttpClassHandler();
最终处理程序mHandler=新处理程序();
新线程(newrunnable()){
@凌驾
公开募捐{
while(滑动单击){
试一试{
睡眠(5000);
mHandler.post(新Runnable(){
@凌驾
公开募捐{
if(vPager.getCurrentItem()==5){
vPager.setCurrentItem(0,true);
}否则{
vPager.setCurrentItem(
vPager.getCurrentItem()+1,true);
}
}
});
}捕获(例外e){
}
}
}
}).start();
}
public void clicklistners(){
vPager.setPageTransformer(false,新的ViewPager.PageTransformer(){
@凌驾
公共页面(查看页面、浮动位置){
最终浮动规格化位置=数学abs(数学abs(位置)-1);
第页设置刻度(标准化位置/2+0.5f);
第页设置刻度(标准化位置/2+0.5f);
}
});
cont.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
最终字符串user_mail=email.getText().toString();
if(user_mail.equals(“”){
AlertDialog.Builder d=新建AlertDialog.Builder(
主要活动(本);
d、 设置标题(“错误”);
d、 设置图标(R.可绘制。注册\u btn\u bg);
d、 setMessage(“请输入您的电子邮件”);
d、 setNeutralButton(“确定”,空);
d、 创建();
d、 show();
}否则{
if(验证邮件(用户邮件)){
AsyncTask任务=新建AsyncTask(){
进程对话进程;
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
progress=ProgressDialog.show(
MainActivity.this,“检查登录”,
“请稍等……”;
}
@凌驾
受保护的void onPostExecute(布尔结果){
super.onPostExecute(结果);
进步。解散();
如果(结果){
意向i=新意向(MainActivity.this,
重要性(阶级);
星触觉(i);
MainActivity.this.onCreate(null);
}否则{
试一试{
Toast.makeText(MainActivity.this,
jObj.getString(“消息”),
Toast.LENGTH_LONG).show();
}捕获(JSONException e){
e、 printStackTrace();
}
}
}
@凌驾
受保护的布尔doInBackground(Void…params){
jObj=handler.checkMail(用户邮件);
试一试{
String msg=jObj.getString(“成功”)
.toString();
如果(消息等于(“1”)){
返回true;
}else if(消息等于(“0”)){
返回false;
}
}捕获(JSONException e){
Toast.makeText(MainActivity.this,
“发生错误”,Toast.LENGTH\u LONG)
.show();
e、 printStackTrace();
}
返回false;
}
};
task.execute();
}否则{
Toast.makeText(MainActivity.this,
“输入有效的电子邮件地址!”,
Toast.LENGTH_LONG).show();
}
}
}
});
}
公共静态布尔validateEmail(字符串电子邮件){
布尔值isValid=false;
字符串表达式=“^[\\w\\.-]+@([\\w\\-]+\\)+[A-Z]{2,4}$”;
字符序列输入