当用户点击ClassOne.java中的星标时,会打开另一个活动,即ClassTwo.java。然后用户输入评论&点击提交评论的复选标记&将他们带回ClassOne.java&在具有TextView的“评论”下显示他们的书面评论。
当我点击检查提交时,我一直收到错误。我该如何解决这个错误?
ClassOne.java Image ClassTwo.java Image
ClassTwo.java
public ImageView sumbitCheck;
public Textview reviewDisplay;
submitCheck.setOnClickListener(new View.OnClickListener() { //submit check image
@Override
public void onClick(View v) {
LayoutInflater inflater = getLayoutInflater(); //TextView inside ClassOne.java
TextView text = (TextView) inflater.inflate(R.layout.ClassOne, null);
reviewDisplay = (TextView) text.findViewById(R.id.display_review);
Intent intent = new Intent(ClassTwo.this, ClassOne.class);
startActivity(intent);
}
});
ClassOne.xml
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/scroll_view">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/relativeLayout5"
android:layout_centerHorizontal="true">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/display_review" />
</RelativeLayout>
<ScrollView>
ClassTwo.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#257985"
android:layout_alignParentTop="true"
android:id="@+id/relativeLayout6"
android:paddingBottom="10dp"
android:layout_centerHorizontal="true"
android:layout_alignParentEnd="true"
android:layout_alignParentStart="true">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:id="@+id/back_arrow"
android:src="@drawable/arrow"
android:layout_marginTop="15dp"
android:layout_marginLeft="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Chipotle Chicken Fajitas"
android:id="@+id/textView22"
android:textSize="22sp"
android:textColor="#fff"
android:layout_marginLeft="30dp"
android:layout_marginTop="10dp" />
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:id="@+id/submit_check"
android:src="@drawable/submitarrow"
android:layout_marginTop="11dp"
android:layout_marginLeft="20dp" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_below="@+id/relativeLayout6"
android:layout_centerHorizontal="true"
android:id="@+id/relativeLayout7">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="You're Review"
android:id="@+id/textView21"
android:paddingLeft="10dp"
android:paddingTop="10dp"
android:textSize="20sp" />
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ratingBar2"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:scaleX=".5"
android:scaleY=".4"
android:layout_alignParentBottom="true" />
</RelativeLayout>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/relativeLayout7"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:hint="What did you think?"
android:gravity="top"
android:background="#e8e5e5"
android:id="@+id/users_review" />
</RelativeLayout>
答案 0 :(得分:0)
请在ClassTwo.java
:
TextView text = (TextView) inflater.inflate(R.layout.ClassOne, null);
此处布局xml文件ClassOne.xml
的根目录为ScrollView
。因此,当您要扩充该布局时,您需要将其转换为所有视图的ScrollView
或View
父级。
最好将每个膨胀的布局投射为View
,然后使用findViewById()
获取所有不同的视图。
所以改变你的行如下:
View rootView = inflater.inflate(R.layout.ClassOne, null);
由于
答案 1 :(得分:0)
您还可以使用Intent更改textView的文本,该文本是当前活动中的另一个Activity。
在当前活动中: -
Intent intent= new Intent(CurrentActivity.this,CallingActivity.class);
intent.putExtra("key","Review changed from a different activity");
startActivity(intent);
finish();
在您的通话活动的onCreate()中: -
Intent mIntent=getIntent();
if(mIntent!=null){
String msg=mIntent.getStringExtra("key");
textView.setText(msg);
}