【发布时间】:2018-08-08 01:38:00
【问题描述】:
每当我尝试获取 .tag() 我的应用程序崩溃。已经有一段时间了,我无法解决问题....
public class MainActivity extends AppCompatActivity {
public void translateFrench(View view){
Button button = (Button) view;
Log.i("Nothing", button.getTag().toString());
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
XML:
<android.support.v7.widget.GridLayout
android:layout_width="368dp"
android:layout_height="495dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
app:columnCount="2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:rowCount="4">
<Button
android:id="@+id/button1"
android:text="Do you speak \nEnglish?"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_rowWeight="1"
android:onClick="translateFrench"/>
<Button
android:id="@+id/button2"
android:text="Good Evening"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_rowWeight="1"
android:onClick="translateFrench"/>
</android.support.v7.widget.GridLayout>
错误日志:
引起:java.lang.reflect.InvocationTargetException 原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“java.lang.String java.lang.Object.toString()” 在
【问题讨论】:
-
你在哪里调用 translateFrench() ???
-
它是onClick方法..对于按钮。
-
请edit您的问题并发布错误日志
-
分享点击代码,指向您调用 translateFrench 的位置。我有一种感觉,您发送的视图有误
-
你应该在调用getTag之前使用setTag方法。请确保你关心这样做。