Android应用程序碎片不断崩溃
我正在开发一个简单的应用程序来转换温度。我试图找出如何处理用户输入的数字,然后处理它并给出转换。我搜索了不同的地方,找到了以下代码的一部分,但当我实际点击按钮时,我的应用程序崩溃了Android应用程序碎片不断崩溃,android,android-intent,android-fragments,Android,Android Intent,Android Fragments,我正在开发一个简单的应用程序来转换温度。我试图找出如何处理用户输入的数字,然后处理它并给出转换。我搜索了不同的地方,找到了以下代码的一部分,但当我实际点击按钮时,我的应用程序崩溃了 import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.view.View.OnClickListener;
import org.w3c.dom.Text;
public class CelsiusFragment extends Fragment implements OnClickListener {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.celsiusfragment, container, false);
Button celsiusbutton = (Button) view.findViewById(R.id.button_celsius);
celsiusbutton.setOnClickListener(this);
return view;
}
Button mButton;
EditText mEdit;
TextView mText;
int output;
@Override
public void onClick(View view) {
mButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
int number = 0;
int number1 = number;
output = number1 + 2;
TextView result = (TextView) view.findViewById(R.id.result);
result.setText(String.valueOf(output));
}
});
}
}
是否有一个教程,你会建议完成这一点?
谢谢 尝试如下更改代码: fragment.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/value"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Button
android:id="@+id/calculate_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Calculate"
android:layout_gravity="center_horizontal" />
</LinearLayout>
logcat怎么说?我收到一条消息说有一个致命的异常:E/AndroidRuntime﹕ 致命异常:main java.lang.NullPointerException和E/SurfaceTexture﹕ [com.tempco/com.tempco.MainActivity]放弃:已放弃SurfaceTexture(0x0x1ef3958)!您可以先不嵌套
onClick
s,然后删除您在onClick函数中不使用的代码?很抱歉,我是Android开发的新手。好吧,我照你说的做了,但现在我得到了这个错误:错误:CelsiusFragment不是抽象的,并且不会覆盖OnClickListener中的抽象方法onClick(视图)。停止在片段中实现OnClickListener。id是如何做到的?对不起,我是这里的初学者。此外,我还在te calculateButton视图中不断获取java.lang.NullPointerException。与@user2512207相同的错误——“抽象,不重写onClick Listener中的抽象方法onClick(视图)。”我没有与OP相同的“impliments onClick…”详细信息。
public class CelsiusFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment, container, false);
Button calculateButton = (Button) view.findViewById(R.id.calculate_button);
calculateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TextView result = (TextView) view.findViewById(R.id.result);
EditText value = (EditText) view.findViewById(R.id.value);
int output = Integer.parseInt(value.getText().toString()) + 2;
result.setText(String.valueOf(output));
}
});
return view;
}
}