Java TextView不能指向另一个类,即使它不是null
我有活动A和B。 活动A有文本视图和按钮。 活动B有一个textView和一个editText 我试图实现的是让活动A中的c可以单击,如果它不为null 当它在活动A中时,它显示null。当我点击按钮到意图B并将结果和名称返回到A时,如果点击c,它应该显示NOTNULL,并且可以将意图发送到EditClaims.java 但是现在的问题是,当它从B返回结果和名称到A时,它没有显示NOTNULL,当c被单击时,它也没有显示EditClaims.java 这就是活动的流程应该是什么样子 活动A>>显示空>>按钮单击>>转到B>>将结果和名称从B返回到A>>显示非空>>如果单击c,则转到EditClaims.javaJava TextView不能指向另一个类,即使它不是null,java,android,android-intent,textview,Java,Android,Android Intent,Textview,我有活动A和B。 活动A有文本视图和按钮。 活动B有一个textView和一个editText 我试图实现的是让活动A中的c可以单击,如果它不为null 当它在活动A中时,它显示null。当我点击按钮到意图B并将结果和名称返回到A时,如果点击c,它应该显示NOTNULL,并且可以将意图发送到EditClaims.java 但是现在的问题是,当它从B返回结果和名称到A时,它没有显示NOTNULL,当c被单击时,它也没有显示EditClaims.java 这就是活动的流程应该是什么样子 活动A>>显
String result="";
String name=""
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bundle = this.getArguments();
View claims = inflater.inflate(R.layout.claims, container, false);
c = (TextView) claims.findViewById(R.id.textView49);
Button button1 = (Button) claims.findViewById(R.id.button10);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Toast.makeText(getActivity().getApplicationContext(), fk + "", Toast.LENGTH_LONG).show();
AlertDialogRadio(a1);
}
});
public void AlertDialogRadio(final int k) {
final CharSequence[] ClaimsModel = {"B", "C", "D"};
AlertDialog.Builder alt_bld = new AlertDialog.Builder(getActivity());
alt_bld.setTitle("Select a Claims");
alt_bld.setSingleChoiceItems(ClaimsModel, -1, new DialogInterface
.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
if (item == 0) {
Intent intent = new Intent(getActivity().getApplicationContext(), B.class);
startActivityForResult(intent, 0);
} else if (item == 1) {...}
.....
});
}
if ((name != null && name.trim().length() > 0) && (result != null && result.trim().length() > 0)) { // check whether c is null or not null
Toast.makeText(getActivity().getApplicationContext(), "not null", Toast.LENGTH_LONG).show();
c.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), EditClaims.class);
startActivity(intent);
}
});
}else
{
Toast.makeText(getActivity().getApplicationContext(), "null", Toast.LENGTH_LONG).show();
}
}
});
return claims;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
int button = data.getIntExtra("k1", 0);
{
if (button == 1) {
switch (requestCode) {
case 0:
result = data.getStringExtra("text"); // return from B
name = data.getStringExtra("a"); //return from B
as=Long.parseLong(result);
c.setText(" " + name + "------" + "RM " + result);
break;
活动B
每次单击textView时,它都会工作。您是否能够读取onActivityResult中的值?button==1是什么?@sr09是的,它可以。结果和名称可以显示在c上。@sr09我只是在活动A中显示了部分代码。但我试图实现的是,如果c不是空的,就让它可以单击。你真的应该开始给你的变量赋予更有意义的名称。所以,我不理解你的代码,这是什么:activityresultint请求代码上的public void,int resultCode,Intent data int button=data.getIntExtrak1,0;{另外,您检查了按钮值,我看不出您在活动B中设置了它,即使您的注释是:从B返回,当该值为1时。您的代码没有任何意义。
String result="";
String name=""
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bundle = this.getArguments();
View claims = inflater.inflate(R.layout.claims, container, false);
c = (TextView) claims.findViewById(R.id.textView49);
Button button1 = (Button) claims.findViewById(R.id.button10);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Toast.makeText(getActivity().getApplicationContext(), fk + "", Toast.LENGTH_LONG).show();
AlertDialogRadio(a1);
}
});
public void AlertDialogRadio(final int k) {
final CharSequence[] ClaimsModel = {"B", "C", "D"};
AlertDialog.Builder alt_bld = new AlertDialog.Builder(getActivity());
alt_bld.setTitle("Select a Claims");
alt_bld.setSingleChoiceItems(ClaimsModel, -1, new DialogInterface
.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
if (item == 0) {
Intent intent = new Intent(getActivity().getApplicationContext(), B.class);
startActivityForResult(intent, 0);
} else if (item == 1) {...}
.....
});
}
if ((name != null && name.trim().length() > 0) && (result != null && result.trim().length() > 0)) { // check whether c is null or not null
Toast.makeText(getActivity().getApplicationContext(), "not null", Toast.LENGTH_LONG).show();
c.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), EditClaims.class);
startActivity(intent);
}
});
}else
{
Toast.makeText(getActivity().getApplicationContext(), "null", Toast.LENGTH_LONG).show();
}
}
});
return claims;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
int button = data.getIntExtra("k1", 0);
{
if (button == 1) {
switch (requestCode) {
case 0:
result = data.getStringExtra("text"); // return from B
name = data.getStringExtra("a"); //return from B
as=Long.parseLong(result);
c.setText(" " + name + "------" + "RM " + result);
break;
c.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if ((name != null && name.trim().length() > 0) && (result != null && result.trim().length() > 0)) {
Toast.makeText(getActivity().getApplicationContext(), "not null", Toast.LENGTH_LONG).show();
Intent intent = new Intent(getActivity(), EditClaims.class);
startActivity(intent);
}
else {
Toast.makeText(getActivity().getApplicationContext(), "null", Toast.LENGTH_LONG).show();
}
}
} );