首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >下面给出了在AlertDialog.Builder代码中不工作的Fragment...my

下面给出了在AlertDialog.Builder代码中不工作的Fragment...my
EN

Stack Overflow用户
提问于 2014-02-01 16:03:58
回答 2查看 836关注 0票数 0

它正在显示错误。

在我编写ACTION_LOCATION_SOURCE_SETTINGS的行&编写finish() method.....plz帮助的地方

错误是: ACTION_LOCATION_SOURCE_SETTINGS不能被解析,或者不是一个字段,方法finish()对于新的DialogInterface.OnClickListener(){}类型没有定义

代码语言:javascript
运行
复制
 package com.mamun.tasktest;

import android.app.AlertDialog;
import android.app.Dialog;
import android.app.Fragment;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.location.LocationManager;
import android.provider.Settings;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;


public class FragmentB extends Fragment implements OnClickListener {


    private Button btnLocation;
    private  LocationManager manager;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.frag_b, null, false);

        btnLocation = (Button) view.findViewById(R.id.btnLocation);
        btnLocation.setOnClickListener(this);
        manager = (LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE);
        return view;
    }

    @Override
    public void onClick(View v) {
        if(isMapAvailalble())
        {

            if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
                  AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                  builder.setTitle("Location Manager");
                  builder.setMessage("GPS is currently disabled.\nWould you like to change these settings now?");
                  builder.setPositiveButton("Yes",
                      new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                          Intent i = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
                          startActivity(i);
                        }
                      });
                  builder.setNegativeButton("No",
                      new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                          finish();
                        }
                      });
                  builder.create().show();
                }




        Intent i = new Intent(getActivity(), MapActivity.class);
        startActivity(i);
        }


    }

    public boolean isMapAvailalble()
    {
        int resultcode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getActivity());
        if(ConnectionResult.SUCCESS==resultcode)
        {
            return true;
        }
        else if(GooglePlayServicesUtil.isUserRecoverableError(resultcode))
        {
            Dialog d = GooglePlayServicesUtil.getErrorDialog(resultcode, getActivity(), 1);
            d.show();
        }
        else
        {
            Toast.makeText(getActivity()," Google Map API is not supported in your device",Toast.LENGTH_LONG).show();
        }
        return false;
    }







}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-01 16:24:15

改为:

代码语言:javascript
运行
复制
getActivity().finish();
票数 1
EN

Stack Overflow用户

发布于 2014-02-01 16:27:16

您确定要像在语句中定义的那样使用这种类型的Settingsimport android.media.audiofx.BassBoost.Settings;吗?

对于finish(),需要在Activity对象上调用它,因此需要放置getActivity().finish()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21500305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档