Java 在另一个函数中声明函数时出现语法错误

Java 在另一个函数中声明函数时出现语法错误,java,android,Java,Android,我在我的项目中使用了中的代码,下面的代码就是结果 public class MainActivity extends Activity { Button dadclink; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main

我在我的项目中使用了中的代码,下面的代码就是结果

public class MainActivity extends Activity {

    Button dadclink;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        addListenerOnButton();
    }

    public Intent addListenerOnButton() {
        dadclink = (Button) findViewById(R.id.dadclink);

        public static Intent newInstagramProfileIntent(PackageManager pm, String url) {
            Intent intent = new Intent(Intent.ACTION_VIEW);
            try {
                if (pm.getPackageInfo("com.instagram.android", 0) != null) {
                    if (url.endsWith("/")) {
                        url = url.substring(0, url.length() - 1);
                    }
                    String natgeo = url.substring(url.lastIndexOf("/") + 1);
                    intent.setData(Uri.parse("http://instagram.com/_u/" + natgeo));
                    intent.setPackage("com.instagram.android");
                    return intent;
                }
            } catch (NameNotFoundException e) {
            }
            intent.setData(Uri.parse(url));
            return intent;
        }};
但是,我在这一行中遇到语法错误:

public static Intent newInstagramProfileIntent(PackageManager pm, String url) {
出现以下错误:

  • 参数newInstagramProfileIntent的修改器非法;只允许决赛
  • 标记“,”上的语法错误;期望
  • 令牌“)”上的语法错误;期望

如何解决此问题?

函数中不能有函数声明

public Intent addListenerOnButton() {
    dadclink = (Button) findViewById(R.id.dadclink);

    // illegal operation
    public static Intent newInstagramProfileIntent(PackageManager pm, String url) {
        ...
    }
};
相关的:

如果我了解您想做什么,您想创建一个按钮的侦听器,该按钮在单击时使用Instagram
Intent
。应将代码修改为:

public void addListenerOnButton() {
    dadclink = (Button) findViewById(R.id.dadclink);
    dadclink.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = newInstagramProfileIntent(getPackageManager(),
                    "your_string_url");

            // do something with the intent, perhaps starting an activity
            startActivity(intent);
        }
    });
}

public static Intent newInstagramProfileIntent(PackageManager pm, String url) {
    Intent intent = new Intent(Intent.ACTION_VIEW);
    try {
        if (pm.getPackageInfo("com.instagram.android", 0) != null) {
            if (url.endsWith("/")) {
                url = url.substring(0, url.length() - 1);
            }

            String natgeo = url.substring(url.lastIndexOf("/") + 1);
            intent.setData(Uri.parse("http://instagram.com/_u/" + natgeo));
            intent.setPackage("com.instagram.android");
            return intent;
        }
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }

    intent.setData(Uri.parse(url));
    return intent;
}

请把准确的错误贴出来。我的猜测是,这是一个无效的强制转换…如果我改变了什么,它会给我几个错误,现在代码中唯一的错误是;在dadclink=(按钮)中,findViewById(R.id.dadclink)****如果你是这个意思!不完全是。。。错误信息是什么?如果您使用的是eclipse,它应该会给您一条详细说明错误的消息。错误实际上出现在第27行:
publicstaticintent newInstagramProfileIntent(PackageManager pm,字符串url){
。这样的函数里面不能有函数。它工作得很好,还需要在清单上做一些工作!非常感谢:)另一个问题,如果你不介意的话。我如何在Instagram中像图片一样编写例如#cat?在(a)中,我先搜索,然后是“HASHTAGS”,然后写“cat”,我得到的结果是“#cat”,然后单击“#Cat”以获取(B)中“HASHTAGS”中的所有“#Cat”图片?谢谢:)对不起,我对此没有任何想法,这应该作为一个新问题提出。但请不要将问题原封不动地发布出来;至少要展示你所做的努力。我们不鼓励在这里提供免费代码。安德鲁-你知道,代码工作得很好,但当我卸载Instagram时,它会给我一个错误,我只是想让它消失转到play.google安装instagram,您可能会对此感兴趣。作为提示,您需要使用
com.instagram.android
作为参数(取自)