Android:TextView使应用程序停止
我创建了一个Android:TextView使应用程序停止,android,textview,Android,Textview,我创建了一个日历视图,每当您选择一个日期时,就会打开一个新活动。在这个新活动中,我放置了一个按钮和文本视图,我希望文本视图显示一个字符串。问题是,当我选择一个日期时,会显示一条消息,上面写着“很遗憾,project_name”已停止!” 以下是新活动的代码: public class CalendarDate extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.o
日历视图
,每当您选择一个日期时,就会打开一个新活动。在这个新活动中,我放置了一个按钮和文本视图
,我希望文本视图
显示一个字符串。问题是,当我选择一个日期时,会显示一条消息,上面写着“很遗憾,project_name”已停止!”
以下是新活动的代码:
public class CalendarDate extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calendar_date);
Bundle extras = getIntent().getExtras();
String dday = extras.getString("currentday");
String dmonth =extras.getString("currentmonth");
String dyear = extras.getString("currentyear");
ActionBar ab = getActionBar();
ab.setTitle(dday+"/"+dmonth+"/"+dyear );
Bundle extraz =getIntent().getExtras();
String display = extras.getString("EXTRA_MESSAGE");
LinearLayout layout=(LinearLayout) this.findViewById(R.id.Layout);
EditText editText=(EditText) this.findViewById(R.id.textView);
Button button=(Button) this.findViewById(R.id.btnAdd);
LayoutParams lparams = new LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
TextView tv=new TextView(this);
tv.setLayoutParams(lparams);
tv.setText(display);
layout.addView(tv);
}
public void sceduleEdit(View view) {
Intent intent = new Intent(this, EditSc.class);
startActivity(intent);
}
}
下面是XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="CalendarDate"
android:orientation="vertical"
android:id="@+id/Layout">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Button
android:id="@+id/btnAdd"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:layout_marginBottom="34dp"
android:layout_marginLeft="88dp"
android:onClick="sceduleEdit" />
你知道为什么会这样吗?很抱歉提出了这么长的问题,请提前多谢 您的布局是
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
您有:EditText=(EditText)this.findviewbyd(R.id.textView)代码>
我想这里有一个ClassCastException,因为TextView不能转换为EditText,所以你的应用程序崩溃了
好的,这应该是TextView TextView=(TextView)this.findviewbyd(R.id.TextView)代码>您正在使用的字符串“display”可能为空。请记录您在该字符串中获得的值。此外,在您的代码中,您正在使用的bundle变量是带有“z”的extraz,如果您得到的是null指针,则尝试使用带有“s”.c d logcat的extras读取它
Bundle extraz =getIntent().getExtras();
String display = extras.getString("EXTRA_MESSAGE");
此外,您的xml没有编辑文本。请检查活动中的文本视图,而不是EditText。您正在将文本视图键入代码中的编辑文本。在代码中将EditText更改为TextView,否则会出现类强制转换异常以前询问的类似问题可能重复。请查看您的logcat输出。应该有异常stacktrace来帮助查明问题。在活动中将EditText更改为TextView,您引用的是TextView,但将其强制转换为EditText。
Bundle extraz =getIntent().getExtras();
String display = extras.getString("EXTRA_MESSAGE");