对于我的活动,我有一个textview,我想要文本从GridView更改onItemClick。对于我的生活,我无法弄清楚为什么当我点击gridview Item来更改textview的文本时,它为什么会一直创建nullPointerException。 “instrucitontextview”是有问题的文本视图,我正在更改onItemClick底部的文本。TextView nullPointerException onItemClick - 内容视图已设置
我有contentView设置,所以它应该能够正确引用布局。我已经在onCreate中对它进行了decalred,所以不应该引用问题。真的在这里输了。
Activity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.jungle_activity);
final TextView instructiontextview = (TextView) findViewById(R.id.textview_jungle_instructions);
final GridView gridviewNeutrals = (GridView) findViewById(R.id.jungle_gridview_neutrals);
gridviewNeutrals.setAdapter(new JungleImageAdapterNeutral(
getApplicationContext()));
gridviewNeutrals.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parentView, View imageview,
int position, long id) {
if (position == 0) {
if (!JungleTimerService.baronJungleTimerStarted) {
Log.i(TAG, "baron jungle started");
JungleTimerService.baronJungleTimerStarted = true;
textviewArrayListIndex();
createBaronTimer();
mServer.baronJungleTimer();
TextView name = (TextView) imageview
.findViewById(R.id.jungle_grid_custom_text);
name.setTextSize(13);
FrameLayout.LayoutParams llp = new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.MATCH_PARENT);
name.setLayoutParams(llp);
imageview
.setPadding(
(int) getResources()
.getDimensionPixelSize(
R.dimen.jungle_timer_button_pressed_dp),
(int) getResources()
.getDimensionPixelSize(
R.dimen.jungle_timer_button_pressed_dp),
(int) getResources()
.getDimensionPixelSize(
R.dimen.jungle_timer_button_pressed_dp),
(int) getResources()
.getDimensionPixelSize(
R.dimen.jungle_timer_button_pressed_dp));
instructiontextview.setText("worked");
}
}
logcat的
07-09 10:56:42.826: E/AndroidRuntime(7992): FATAL EXCEPTION: main
07-09 10:56:42.826: E/AndroidRuntime(7992): java.lang.NullPointerException
07-09 10:56:42.826: E/AndroidRuntime(7992): at com.divinityworks.leaguecentral_leagueoflegends.JungleActivity$3.onItemClick(JungleActivity.java:164)
07-09 10:56:42.826: E/AndroidRuntime(7992): at android.widget.AdapterView.performItemClick(AdapterView.java:298)
07-09 10:56:42.826: E/AndroidRuntime(7992): at android.widget.AbsListView.performItemClick(AbsListView.java:1268)
07-09 10:56:42.826: E/AndroidRuntime(7992): at android.widget.AbsListView$PerformClick.run(AbsListView.java:3059)
07-09 10:56:42.826: E/AndroidRuntime(7992): at android.widget.AbsListView$1.run(AbsListView.java:3950)
07-09 10:56:42.826: E/AndroidRuntime(7992): at android.os.Handler.handleCallback(Handler.java:615)
07-09 10:56:42.826: E/AndroidRuntime(7992): at android.os.Handler.dispatchMessage(Handler.java:92)
07-09 10:56:42.826: E/AndroidRuntime(7992): at android.os.Looper.loop(Looper.java:137)
07-09 10:56:42.826: E/AndroidRuntime(7992): at android.app.ActivityThread.main(ActivityThread.java:4950)
07-09 10:56:42.826: E/AndroidRuntime(7992): at java.lang.reflect.Method.invokeNative(Native Method)
07-09 10:56:42.826: E/AndroidRuntime(7992): at java.lang.reflect.Method.invoke(Method.java:511)
07-09 10:56:42.826: E/AndroidRuntime(7992): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
07-09 10:56:42.826: E/AndroidRuntime(7992): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
07-09 10:56:42.826: E/AndroidRuntime(7992): at dalvik.system.NativeStart.main(Native Method)
Jungle_activity.xml
<ScrollView
android:id="@+id/jungle_scrollview_timers"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="10" >
<FrameLayout
android:id="@+id/framelayout_jungle_scrollview"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/linearlayout_jungle_inner_scrollview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
<TextView
android:id="@+id/jungle_textview_instructions"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:gravity="center"
android:text="@string/textview_jungle_instructions"
android:textSize="25sp" />
</FrameLayout>
</ScrollView>
谢谢小号
显示logcat的数据 – stinepike
'TextView的名称=(TextView的)ImageView的 .findViewById(R.id.jungle_grid_custom_text)'必须为null检查,如果名称为null – Raghunandan
这行给出你是例外吗? – Kostia