当我按下另一个班级的按钮时,我试图在我的第一堂课中添加一个textview。我能够创建一个textview到同一个班级,我有我的按钮,但是我是无法在我希望它创建的类中创建该textview。我得到一个nullpoint异常
这是我的代码
public class popup extends Activity {
private Button create,exit;
private EditText newname;
public LinearLayout mLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.popup);
exit = (Button)findViewById(R.id.exit);
create = (Button)findViewById(R.id.create);
newname = (EditText)findViewById(R.id.name1);
mLayout = (LinearLayout)findViewById(R.id.linearLayout);
exit.setOnClickListener(onClickListener);
create.setOnClickListener(onClickListener);
}
private OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(final View v) {
switch(v.getId()){
case R.id.exit:
finish();
break;
case R.id.create:
String name = newname.getText().toString();
mLayout.addView(createNewTextView(newname.getText().toString()));
break;
}
}
};
private TextView createNewTextView(String text) {
final LayoutParams lparams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
final TextView textView = new TextView(this);
textView.setLayoutParams(lparams);
textView.setText(text);
return textView;
}
}
布局(我有按钮的位置)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/tabTransparent"
android:orientation="vertical" >
<TextView
android:id="@+id/head"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/cream"
android:text="Create a New Member"
android:textSize="20dp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:layout_marginTop="15dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/text1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textColor="@color/cream"
android:text="Name :" />
<EditText
android:id="@+id/name1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.75"
android:inputType="text"
android:enabled = "true"
android:background="@drawable/edittext"
android:hint="Enter New Name"
android:ems="5" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:layout_marginTop="15dp"
android:orientation="horizontal" >
<Button
android:id="@+id/create"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Create" />
<Button
android:id="@+id/exit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Exit" />
</LinearLayout>
</LinearLayout>
Layout2(应该创建我的textview)
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/background"
android:id="@+id/linearLayout"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:layout_marginTop="5dp"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/checkbox_userG"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/userG"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.25"
android:textColor="@color/cream"
android:text="@string/user_nameG" />
<EditText
android:id="@+id/txtG"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.75"
android:inputType="number"
android:enabled = "false"
android:text="0"
android:background="@drawable/edittext"
android:hint="Rs."
android:ems="10" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/checkbox_userU"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/userU"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.25"
android:textColor="@color/cream"
android:text="@string/user_nameU" />
<EditText
android:id="@+id/txtU"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:inputType="number"
android:enabled = "false"
android:hint="Rs."
android:text="0"
android:background="@drawable/edittext"
android:layout_weight="0.75"
android:ems="10" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/checkbox_userP"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/userP"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.25"
android:textColor="@color/cream"
android:text="@string/user_nameP" />
<EditText
android:id="@+id/txtP"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/edittext"
android:inputType="number"
android:enabled = "false"
android:text="0"
android:layout_weight="0.75"
android:hint="Rs."
android:ems="10" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/checkbox_userR"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/userR"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textColor="@color/cream"
android:text="@string/user_nameR" />
<EditText
android:id="@+id/txtR"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.75"
android:inputType="number"
android:enabled = "false"
android:text="0"
android:background="@drawable/edittext"
android:hint="Rs."
android:ems="5" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/checkbox_userA"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/userA"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textColor="@color/cream"
android:text="@string/user_nameA" />
<EditText
android:id="@+id/txtA"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.75"
android:enabled = "false"
android:text="0"
android:inputType="number"
android:background="@drawable/edittext"
android:hint="Rs."
android:ems="5" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/checkbox_userCh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/userCh"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textColor="@color/cream"
android:text="@string/user_nameCh" />
<EditText
android:id="@+id/txtCh"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.75"
android:inputType="number"
android:enabled = "false"
android:text="0"
android:background="@drawable/edittext"
android:hint="Rs."
android:ems="5" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/btnCal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:ems="5"
android:text="@string/calculate"/>
<!-- android:background="@drawable/mybutton" -->
<Button
android:id="@+id/btnReset"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:ems="5"
android:text="@string/Reset"/>
<!-- android:background="@drawable/mybutton"-->
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/totamount"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textColor="@color/cream"
android:text="@string/user_total" />
<TextView
android:id="@+id/totamountLabel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textSize="25dp"
android:textColor="@color/yellow"
android:hint="Rs.0" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/amountper"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textColor="@color/cream"
android:text="@string/user_amount" />
<TextView
android:id="@+id/amountperLabel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textSize="25dp"
android:textColor="@color/yellow"
android:hint="Rs.0" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/nameG"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:paddingLeft="5dp"
android:textColor="@color/cream"
android:text="@string/user_amountG" />
<TextView
android:id="@+id/costperG"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textSize="20dp"
android:textColor="@color/cream"
android:hint="Rs.0" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/nameU"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:paddingLeft="5dp"
android:textColor="@color/cream"
android:text="@string/user_amountU" />
<TextView
android:id="@+id/costperU"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textSize="20dp"
android:textColor="@color/cream"
android:hint="Rs.0" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/nameP"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:paddingLeft="5dp"
android:textColor="@color/cream"
android:text="@string/user_amountP" />
<TextView
android:id="@+id/costperP"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textSize="20dp"
android:textColor="@color/cream"
android:hint="Rs.0" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/nameR"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:paddingLeft="5dp"
android:textColor="@color/cream"
android:text="@string/user_amountR" />
<TextView
android:id="@+id/costperR"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textSize="20dp"
android:textColor="@color/cream"
android:hint="Rs.0" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/nameA"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:paddingLeft="5dp"
android:textColor="@color/cream"
android:text="@string/user_amountA" />
<TextView
android:id="@+id/costperA"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textSize="20dp"
android:textColor="@color/cream"
android:hint="Rs.0" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/nameCh"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textColor="@color/cream"
android:paddingLeft="5dp"
android:text="@string/user_amountCh" />
<TextView
android:id="@+id/costperCh"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.25"
android:textSize="20dp"
android:textColor="@color/cream"
android:hint="Rs.0" />
</LinearLayout>
</LinearLayout>
</ScrollView>
答案 0 :(得分:0)
像这样创建一个监听器接口
public interface AddTextViewListener {
void onPopUpDestroyed(String text);
}
现在在你的弹出活动
中public class popup extends Activity {
private Button create,exit;
private EditText newname;
public LinearLayout mLayout;
AddTextViewListener listener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.popup);
exit = (Button)findViewById(R.id.exit);
create = (Button)findViewById(R.id.create);
newname = (EditText)findViewById(R.id.name1);
mLayout = (LinearLayout)findViewById(R.id.linearLayout);
exit.setOnClickListener(onClickListener);
create.setOnClickListener(onClickListener);
listener = (AddTextViewListener)popup.this;
}
private OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(final View v) {
switch(v.getId()){
case R.id.exit:
finish();
break;
case R.id.create:
String name = newname.getText().toString();
listener.onPopUpDestroyed(name);
// mLayout.addView(createNewTextView(newname.getText().toString()));
break;
}
}
};
}
并在MainActivity中要添加此textView,如下所示
1)将此方法放入该活动
private TextView createNewTextView(String text) {
final LayoutParams lparams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
final TextView textView = new TextView(this);
textView.setLayoutParams(lparams);
textView.setText(text);
return textView;
}
2)在该活动中实现AddTextViewListener
public class MainActivity extends Activity implemets AddTextViewListener {
3)您将被要求覆盖接口方法,覆盖它
4)转到MainActivity中的这个重写方法
public void onPopUpDestroyed(String text)
{
// call createNewTextView(text);
// add this textview to your desired layout
}
注意:由于我没有您的完整代码,因此以下代码可能会有轻微的拼写错误,为此道歉