Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Can';找不到findViewById函数_Android_Eclipse_Findviewbyid - Fatal编程技术网

Android Can';找不到findViewById函数

Android Can';找不到findViewById函数,android,eclipse,findviewbyid,Android,Eclipse,Findviewbyid,我是一个使用EclipseIDE和Android SDK的Android新手。无论如何,我看了一些教程,似乎无法调用findviewbyd()函数 如果您能指导我如何使用它,如果它是一个静态类的方法或其他东西,我将不胜感激 谢谢,我相信这对更高级的用户来说不会是个问题 嗯,作为对评论的回应,我正试图在活动中使用它。 下面是代码: package tk.quiero.test1; import android.support.v7.app.ActionBarActivity; import a

我是一个使用EclipseIDE和Android SDK的Android新手。无论如何,我看了一些教程,似乎无法调用findviewbyd()函数

如果您能指导我如何使用它,如果它是一个静态类的方法或其他东西,我将不胜感激

谢谢,我相信这对更高级的用户来说不会是个问题


嗯,作为对评论的回应,我正试图在活动中使用它。 下面是代码:

package tk.quiero.test1;

import android.support.v7.app.ActionBarActivity;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;


public class MainActivity extends ActionBarActivity {

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


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}
}
我到底应该在哪里使用它?
感谢

findViewById
是在Activity类中定义的,因此听起来您试图从Activity外部调用它。如果是这样的话,您应该发布您正试图做的事情,因为有很多方法可以做到这一点,但也很可能有比在活动之外解析UI元素更干净或更简单的方法

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    View view = findViewById(R.id.xxxxx)
}

将xxxxx替换为您在xml中定义的id…看起来应该像@+id/xxxxx

您可以将代码粘贴到您尝试使用findViewbyId的位置吗?您是否在活动或片段中使用此功能?您是否尝试阅读android文档?我粘贴了代码,我将查看该链接:)@user3750762您应该在哪里使用它完全取决于您想做什么。我能想到的唯一限制是,在调用
setContentView()
之后必须调用它。除此之外,只要在代码中的任何一点调用
findViewById(你想要的东西的R.id.id)
就可以了。内森,你能给我一个简单的例子吗?抱歉打扰您。值得注意的是,它也在
视图中定义。findViewById不是来自活动,而是来自视图。@user3586222它在活动和视图中都定义,并且最常被新的Android开发人员在活动中使用(在视图中,它主要用于复杂容器/复合视图…发布Android全新版本的人很可能不会这样做)。这里有一个到Activity.findViewById的链接,表示我对您的否决票的感谢:是正确的,活动可以使用findviewbyd()因为它基本上是一个视图。@user3586222不,这是明显错误的。
Activity
没有以任何方式扩展
View
Activity
可以包含视图,但它本身肯定不是视图。我尝试过,但它没有将视图识别为类:(我的IDE是Eclipse,很抱歉,我现在不能给你。我不在家。我会尽快给你:)