我试图将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
在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)
该系统似乎工作正常.
这是我的代码
@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).你能帮我吗?
好吧,我是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.
我正在尝试实现自定义数组适配器,
问题是我使用时代码崩溃了
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 Material Design
相关信息:
无法解析方法"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) 我只是测试输入/输出,没有特殊用途,这是最后一个成功运行的代码:
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.***) …
我希望能够显示Snackbars,但我对这个概念感到困惑,我必须提供一个View.您认为它允许您默认在屏幕底部显示Snackbar,但也许我遗漏了一些东西.
无论如何,这可以通过使用视图来完成:
findViewById(android.R.id.content)
但是我得到一个警告,即使它似乎总是在我尝试的任何地方都可以使用,但这可能是空的.什么时候可能是null?
我有一个从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应用程序,我想在启动画面后查看菜单.我正确触发它,我用一个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)