标签: findviewbyid

findViewById()在一个活动中起作用,但在另一个活动中起作用

我试图将EditText从Activity1传递给Activity2.

Activity1代码:

public void openNextActivity() 
{
    Intent intent = new Intent("com.abc.xyz.ImageActivity"); 
    EditText myEditText = (EditText)findViewById(R.id.myEditText);

    int myEditTextId = myEditText.getId();
    //For Test purpose ----- starts
    // **Point1: next line of code works fine in this Activity1**
    EditText myEditTextTest = (EditText)findViewById(myEditTextId); 
    //For Test purpose ----- ends   

    intent.putExtra("myEditText", myEditTextId);

    startActivity(intent); 
}
Run Code Online (Sandbox Code Playgroud)

Activity2代码:

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.comments_detail);

    Bundle extras = getIntent().getExtras();
    if(extras != null)
    {
        int myEditTextId = extras.getInt("myEditText");

        // Point2: next line of code displays the correct Id
        Log.d("tag","myEditTextId"+ myEditTextId); …
Run Code Online (Sandbox Code Playgroud)

android nullreferenceexception android-edittext android-view findviewbyid

2
推荐指数
1
解决办法
2061
查看次数

Android:为什么视图的ID应该是正数?

在View.java中,

setId - "设置此视图的标识符.标识符在此视图的层次结构中不必是唯一的.标识符应为正数."

&

findViewById - "查找具有给定id的子视图.如果此视图具有给定的id,

为什么我不能使用负数作为视图的ID?我评论说了

    public final View findViewById(int id) {
    // The original android check at here
    //  if (id < 0) { 
    // is commented out to test if system could run when Ids are negative numbers
    if (id == NO_ID) {
        return null;
    }
    return findViewTraversal(id);
}
Run Code Online (Sandbox Code Playgroud)

该系统似乎工作正常.

android findviewbyid

2
推荐指数
1
解决办法
1331
查看次数

在AlertDialog.Builder中使用findViewById()时出现NullPointerException

这是我的代码

@Override
public void onClick(View v) {
final AlertDialog.Builder adb = new AlertDialog.Builder(getApplicationContext());
adb.setView(LayoutInflater.from(getApplicationContext()).inflate(R.layout.custom, null));

adb.setPositiveButton("Add",new android.content.DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int arg1) {

                DatePicker datePicker = (DatePicker)findViewById(R.id.datePicker);

                java.util.Date date = null;
                Calendar cal = GregorianCalendar.getInstance();
                cal.set(datePicker.getYear(),datePicker.getMonth(), datePicker.getDayOfMonth());
                date = cal.getTime();
            }                  
        });             
adb.show();
}
Run Code Online (Sandbox Code Playgroud)

我在这一行中有NullPointerException,我认为datePicker不是findById,因为我使用AlertDialog.Builder.

cal.set(datePicker.getYear(),datePicker.getMonth(),datePicker.getDayOfMonth());

我试过使用adb.findViewById();但它是一个错误(方法findViewById(int)未定义类型AlertDialog.Builder).你能帮我吗?

android dialog nullpointerexception findviewbyid

2
推荐指数
1
解决办法
8074
查看次数

Android-无法从View转换为Button

好吧,我是java和android编程的新手,但我遇到过最令人沮丧的错误,我似乎无法找到解决方案.这是错误所在的位置.

final Button button = (Button) findViewById(R.id.activity_button);
Run Code Online (Sandbox Code Playgroud)

这是按钮本身的XML.

<Button
    android:id="@+id/button_main"
    android:layout_width="match_parent"
    android:layout_height="90dp"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="@string/button_text" />
Run Code Online (Sandbox Code Playgroud)

我没有看到问题,我导入的import com.awesometech.uselessbutton.R;没有帮助.有什么建议?我正在使用Eclipse.

java android casting android-button findviewbyid

2
推荐指数
1
解决办法
2502
查看次数

view.findViewById(R.id ....)和findViewById(R.id ...)之间的区别

我正在尝试实现自定义数组适配器,

问题是我使用时代码崩溃了

 ImageView imageView=(ImageView)findViewById(R.id.imageView);
Run Code Online (Sandbox Code Playgroud)

而不是

ImageView imageView=(ImageView)rowView.findViewById(R.id.imageView);
Run Code Online (Sandbox Code Playgroud)

其中rowView是我已经实施的ListView的布局文件.

为什么会发生这种情况,我认为rowView.findViewById(R.id ..)只会让它更快地通过id找到元素,但没有它应用程序崩溃,你能解释一下吗?

这是我的活动代码

公共类MainActivity扩展AppCompatActivity {

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

    //Now for the list view

    ListView listView=(ListView)findViewById(R.id.listView);

    String[] values =new String[]{"iOS","android","firefoxOs","Ubuntu"};

   MySimpleAdapter simpleAdapter=new MySimpleAdapter(this,values);

   listView.setAdapter(simpleAdapter);
    //

    }

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar …
Run Code Online (Sandbox Code Playgroud)

android android-view findviewbyid

2
推荐指数
2
解决办法
6184
查看次数

无法在AppCompatActivity中解析findViewByID

我正在学习本教程:使用标签的Android Material Design

相关信息:

  • Android API等级21
  • 依赖性被添加到graddle文件编译'com.android.support:appcompat-v7:23.0.1'并编译'com.android.support:design:23.0.1'}

无法解析方法"findViewById".我试着按照这个答案无法在Fragment中解析方法'findViewById(int)',但是这个AppCompatActivity使用OnCreateBundle代替OnCreateView,那么我无法获取View对象...

这段代码有什么问题?我错过了一些进口?

    package info.androidhive.materialtabs.activity;

import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;

import java.util.ArrayList;
import java.util.List;

import info.androidhive.materialtabs.R;
import info.androidhive.materialtabs.fragments.OneFragment;
import info.androidhive.materialtabs.fragments.ThreeFragment;
import info.androidhive.materialtabs.fragments.TwoFragment;

public class MainActivity extends AppCompatActivity {

    private Toolbar toolbar;
    private TabLayout tabLayout;
    private ViewPager viewPager;

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

        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        viewPager = (ViewPager) findViewById(R.id.viewpager);
        setupViewPager(viewPager);

        tabLayout = (TabLayout) findViewById(R.id.tabs); …
Run Code Online (Sandbox Code Playgroud)

android findviewbyid material-design appcompatactivity

2
推荐指数
1
解决办法
6282
查看次数

为什么Android应用程序在类的开头使用findViewById(R.id.******)初始化变量时崩溃了?

我只是测试输入/输出,没有特殊用途,这是最后一个成功运行的代码:

public class MainActivity extends AppCompatActivity
{

/*
EditText username = (EditText)findViewById(R.id.editText_Username);
EditText password = (EditText)findViewById(R.id.editText_Password);
TextView inputdata = (TextView)findViewById(R.id.textView_InputData);
TextView welcome = (TextView)findViewById(R.id.textView_Welcome);
Button login=(Button)findViewById(R.id.button_Login);
Button anotherLogin=(Button)findViewById(R.id.button_Login_Another);

public void doLoginOnClick(View v)
{
    String s1=username.getText().toString();
    inputdata.setText(s1);
}

*/
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    FloatingActionButton fab = (FloatingActionButton)findViewById(R.id.fab); 
    fab.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View view)
        {
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                    .setAction("Action", null).show();
        }
    });
} 

}
Run Code Online (Sandbox Code Playgroud)

我试图捕获组件的id

findViewById(R.id.***) …

android findviewbyid

2
推荐指数
1
解决办法
2301
查看次数

findViewById(android.R.id.content)可以为Snackbars返回null吗?

我希望能够显示Snackbars,但我对这个概念感到困惑,我必须提供一个View.您认为它允许您默认在屏幕底部显示Snackbar,但也许我遗漏了一些东西.

无论如何,这可以通过使用视图来完成:

findViewById(android.R.id.content)

但是我得到一个警告,即使它似乎总是在我尝试的任何地方都可以使用,但这可能是空的.什么时候可能是null?

android findviewbyid snackbar

2
推荐指数
1
解决办法
2680
查看次数

findViewById不适用于特定视图

我有一个从XML加载的活动,其中的视图具有通常的ID:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="80dp"
    android:layout_height="110dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <FrameLayout
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:layout_gravity="center_horizontal"
            android:background="@drawable/white_circle">

            <com.myapp.views.CircleImageView
                android:id="@+id/imageView"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
        </FrameLayout>

        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="16dp"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="-12dp"
            android:background="@drawable/price_background">

            <TextView
                android:id="@+id/priceView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="4dp"
                android:layout_marginRight="4dp"
                android:text="0.1 BTC"
                android:textAllCaps="true"
                android:textColor="@color/white"
                android:textSize="10sp"
                android:textStyle="bold" />

        </FrameLayout>

        <TextView
            android:id="@+id/nameView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="2dp"
            android:gravity="center_horizontal"
            android:lineSpacingMultiplier="0.8"
            android:lines="2"
            android:text="Bacon Cheeseburger"
            android:textSize="10sp" />
    </LinearLayout>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

我试图在代码中引用三个视图:

public ItemViewHolder(View itemView) {
    super(itemView);
    nameView = itemView.findViewById(R.id.nameView);
    priceView = itemView.findViewById(R.id.priceView);
    imageView = itemView.findViewById(R.id.imageView);
}
Run Code Online (Sandbox Code Playgroud)

nameView并且priceView被正确引用,但是imageView没有被引用,并且是 …

android android-layout findviewbyid

2
推荐指数
1
解决办法
363
查看次数

从findViewById使用View时出现NullPointerException

我设计了一个Android应用程序,我想在启动画面后查看菜单.我正确触发它,我用一个ArrayAdapter来创建一个自定义ListView.但是,当我运行模块时,它会在启动后关闭并且logcat指示a NullPointerException.但是,我没有做错任何事.请帮帮我!:)

谢谢.

码:

package com.sliit.droidman.main;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import com.sliit.droidman.R;

public class MainActivity extends Activity implements OnItemClickListener{

ArrayList<String> Methods = new ArrayList<String>();
ArrayList<String> MethodDiscription = new ArrayList<String>();
ArrayList<Integer> Icons = new ArrayList<Integer>();
ArrayList<Object> Objects = new ArrayList<Object>();

private ListItemAdapter adapter;
ListView lv;

public void onItemClick(AdapterView<?> arg0, View …
Run Code Online (Sandbox Code Playgroud)

android android-intent android-layout findviewbyid

1
推荐指数
1
解决办法
904
查看次数