空指针搜索findViewById android应用程序Java 问题
您好,我在引用我正在制作的android应用程序上的按钮时遇到问题。问题是引用按钮时出现了一个空指针,我很困惑为什么会出现这种情况。另一个类上有一个非常类似的引用,我将它包括在welcomeScreen.java的onTestButtonClickr的引用中 编辑 我发现如果我在游戏中更改setContentViewR.layout.activity;在游戏中设置contentviewr.layout.fragment_;空指针消失了,但是我对按钮所做的任何更改都不起作用 logcat 带错误的类 其他可供参考的类 断片 活动名称空指针搜索findViewById android应用程序Java 问题,java,android,eclipse,Java,Android,Eclipse,您好,我在引用我正在制作的android应用程序上的按钮时遇到问题。问题是引用按钮时出现了一个空指针,我很困惑为什么会出现这种情况。另一个类上有一个非常类似的引用,我将它包括在welcomeScreen.java的onTestButtonClickr的引用中 编辑 我发现如果我在游戏中更改setContentViewR.layout.activity;在游戏中设置contentviewr.layout.fragment_;空指针消失了,但是我对按钮所做的任何更改都不起作用 logcat 带错误的
在附加带有视图资源片段名称的片段之前,您正在调用generateImages函数。因此,在generateImages中,没有可以使用id为R.id.ImageButton1_6的ImageButton。最终的问题是我正在编辑片段和引用活动。将替换“欢迎屏幕”类别行,该行表示:
setContentView(R.layout.activity_main);
到我正在编辑的xml的一个反映。像这样:
setContentView(R.layout.fragment_in_game);
请在游戏类中为R.layout.activity\u编写代码。检查按钮是否属于片段布局。在adt更新之后,很多开发人员犯了这个错误。初始化活动中的片段视图。需要查看游戏中R.layout.activity\u的代码。我猜您没有使用ID R.ID.ImageButton1定义视图,我觉得应该使用.fragment来设计显示。到目前为止,它已经起作用了。我如何重新排列所有内容以使其位于正确的位置?您可以在onCreateView方法中的return语句之前调用generateImages方法,也可以重写onViewCreated或在片段的onCreateView之后调用的其他回调方法,并在该方法中调用generateImages。但是onCreate是无效的,它没有返回尝试以下操作:public void generateImages视图父对象{ImageButton b16=ImageButton parent.findViewByIdR.id.ImageButton1_6;//编写代码}创建视图布局时的公共视图充气机、视图组容器、捆绑包保存状态{View rootView=inflater.inflater.layout.fragment_在_游戏中,容器,false;evaluateButtonrootView;return rootView;}
package com.moconnell.thehacker;
import java.util.ArrayList;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.os.Build;
public class WelcomeScreen extends ActionBarActivity {
public Button btnNewGame;
public Button mBtn;
public static ArrayList<Drawable> j;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnNewGame = (Button) findViewById(R.id.btnNewGame);
//btnNewGame.setOnClickListener(this);
////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
// Button toggleButton = (Button) findViewById(R.id.btnHighScore);
// final ImageView img = (ImageView) findViewById(R.id.ImageView01);
// toggleButton.setOnClickListener(
//
// new View.OnClickListener() {
//
// public void onClick(View v) {
// img.setImageResource(R.drawable.fat_banana);
// }
//
// });
//////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
Resources resources = getResources();
j= new ArrayList<Drawable>();
j.add(resources.getDrawable(R.drawable.a_button));
j.add(resources.getDrawable(R.drawable.b_button));
j.add(resources.getDrawable(R.drawable.c_button));
j.add(resources.getDrawable(R.drawable.d_button));
j.add(resources.getDrawable(R.drawable.e_button));
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}
@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);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
return rootView;
}
}
public void onTestButtonClick(View view)
{
startActivity(new Intent("com.moconnell.thehacker.InGame"));
}
public void highScores(View view)
{
}
public void onTestButtonClickr(View view)
{
Button b = (Button)view;
String buttonText = b.getText().toString();
Log.v("", "butText:" + buttonText);
b.setText("cc");
Log.v("", "buttnID:" + b.getId());
if( b.getId()==R.id.btnNewGame)
Log.v("", "thsi is the new game button");
if( b.getId()==R.id.btnHighScore)
Log.v("", "thsi is the high scores button");
ImageView i = (ImageView)findViewById(R.id.ImageView01);
// .setImageResource(R.drawable.fat_banana);
Log.v("", "dispImg:" + i.getId());
Resources resources = getResources();
//i.setImageDrawable(resources.getDrawable(R.drawable.fat_banana));
i.setImageDrawable(j.get(1));
// if(buttonText.equals("View High Scores"))
// startActivity(new Intent("com.moconnell.thehacker.InGame"));
}
// private void empezarNewGame()
// {
//
// }
//
}
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:background="@drawable/background_tron"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.moconnell.thehacker.WelcomeScreen"
tools:ignore="MergeRootFrame"
android:orientation="vertical">
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="10dp"
android:gravity="center">
<Button
android:id="@+id/buttonReturn"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:onClick="onTestButtonClickr"
/>
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="53dp"
android:onClick="click"
android:src="@drawable/a_button"
android:gravity="center"/>
<TableRow
android:id="@+id/tableRow01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
<ImageButton
android:id="@+id/ImageButton1_6"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/a_display" />
<ImageButton
android:id="@+id/ImageButton2_6"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/b_display" />
<ImageButton
android:id="@+id/ImageButton3_6"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/c_display" />
<ImageButton
android:id="@+id/ImageButton4_6"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/d_display" />
<ImageButton
android:id="@+id/ImageButton5_6"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/e_display" />
</TableRow>
<TextView
android:id="@+id/txtDirections"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter the above code open lock"
android:textAppearance="?android:attr/textAppearanceMedium"
android:gravity="center" />
<TableRow
android:id="@+id/TableRow02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
<ImageButton
android:id="@+id/ImageButton1_5"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton"/>
<ImageButton
android:id="@+id/ImageButton2_5"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton"/>
<ImageButton
android:id="@+id/ImageButton3_5"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton" />
<ImageButton
android:id="@+id/ImageButton4_5"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton"/>
<ImageButton
android:id="@+id/ImageButton5_5"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton"/>
</TableRow>
<TableRow
android:id="@+id/TableRow03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center" >
<ImageButton
android:id="@+id/ImageButton1_4"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton" />
<ImageButton
android:id="@+id/ImageButton2_4"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton" />
<ImageButton
android:id="@+id/ImageButton3_4"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton" />
<ImageButton
android:id="@+id/ImageButton4_4"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton" />
<ImageButton
android:id="@+id/ImageButton5_4"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton" />
</TableRow>
<TableRow
android:id="@+id/tableRow6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center" >
<ImageButton
android:id="@+id/ImageButton1_3"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton"/>
<ImageButton
android:id="@+id/ImageButton2_3"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton"/>
<ImageButton
android:id="@+id/ImageButton3_3"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton" />
<ImageButton
android:id="@+id/ImageButton4_3"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton" />
<ImageButton
android:id="@+id/ImageButton5_3"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton"/>
</TableRow>
<TableRow
android:id="@+id/tableRow5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
<ImageButton
android:id="@+id/ImageButton1_2"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton"/>
<ImageButton
android:id="@+id/ImageButton2_2"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton" />
<ImageButton
android:id="@+id/ImageButton3_2"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton"/>
<ImageButton
android:id="@+id/ImageButton4_2"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton"/>
<ImageButton
android:id="@+id/ImageButton5_2"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/loading"
android:onClick="evaluateButton" />
</TableRow>
</TableLayout>
</FrameLayout>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.moconnell.thehacker.InGame"
tools:ignore="MergeRootFrame" />
setContentView(R.layout.activity_main);
setContentView(R.layout.fragment_in_game);