无法使用意图将数据从一个片段传递到另一个片段。逻辑很好。请检查主活动的最后部分,在这些部分我使用PutExtra向其他活动发送了字符串。
public class MainActivity extends Activity implements View.OnClickListener {
EditText ed1,ed2,ed3,ed4,ed5,ed6;
Button bt1;
TextView tv1,tv2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ed1=(EditText)findViewById(R.id.editText);
ed2=(EditText)findViewById(R.id.editText2);
ed3=(EditText)findViewById(R.id.editText3);
ed4=(EditText)findViewById(R.id.editText4);
ed5=(EditText)findViewById(R.id.editText5);
ed6=(EditText)findViewById(R.id.editText6);
tv1=(TextView)findViewById(R.id.textView);
tv2=(TextView)findViewById(R.id.textView2);
bt1=(Button)findViewById(R.id.button);
bt1.setOnClickListener(this);
}
public void onClick(View v)
{
String str1=ed1.getText().toString();
String str2=ed2.getText().toString();
String str3=ed3.getText().toString();
String str4=ed4.getText().toString();
String str5=ed5.getText().toString();
String str6=ed6.getText().toString();
if(str1.matches("") || str2.matches("") || str3.matches(""))
{
tv1.setText("One or more fields missing");
if(str4.matches("") || str5.matches("") || str6.matches(""))
{
tv2.setText("One or more fields missing");
}
}
else {
int age1 = Integer.parseInt(ed2.getText().toString());
int age2 = Integer.parseInt(ed5.getText().toString());
int l1 = str1.length();
str1 = str1.toLowerCase();
str4 = str4.toLowerCase();
int l2 = str4.length();
int[] a = new int[26];
int[] b = new int[26];
for (int i = 0; i < l1; i++) {
char c = str1.charAt(i);
int x = (int) c - 97;
a[x]++;
}
for (int i = 0; i < l2; i++) {
char c = str4.charAt(i);
int x = (int) c - 97;
b[x]++;
}
int s=0,p;
for(int i=0;i<26;i++)
{
if(a[i]>b[i])
p=a[i];
else
p=b[i];
s+=p;
}
if(l1>l2)
p=l1;
else
p=l2;
double love1=(double)(s/p)*100;
double love2=0.0,x;
if(age1>age2) {
p = age1;
x=age2;
}
else {
p = age2;
x=age1;
}
love2=(double)(x/p)*100;
Intent in=new Intent(MainActivity.this,SecondActivity.class);
String s1=""+love1;
String s2=""+love2;
in.putExtra("k1",str4);
in.putExtra("k2",str4);
in.putExtra("k3", love1);
in.putExtra("k4",love2);
startActivity(in);
finish();
}
}
}
public class SecondActivity extends Activity {
TextView tv7,tv8,tv9,tv10;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Intent in = getIntent();
String s1 = in.getStringExtra("k1");
String s2 = in.getStringExtra("k2");
String s3 = in.getStringExtra("k3");
String s4 = in.getStringExtra("k4");
tv7=(TextView)findViewById(R.id.textView3);
tv8=(TextView)findViewById(R.id.editText4);
tv9=(TextView)findViewById(R.id.editText5);
tv10=(TextView)findViewById(R.id.editText6);
tv7.setText("Hello "+s1);
tv8.setText("Your partner "+s2+" is really nice");
tv9.setText("Your love percent based on name is "+s3);
tv10.setText("Your love percent based on age is "+s4);
}
}
Process: khurana.nikhil.lovemeter, PID: 4019
java.lang.RuntimeException: Unable to start activity ComponentInfo{khurana.nikhil.lovemeter/khurana.nikhil.lovemeter.SecondActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
at khurana.nikhil.lovemeter.SecondActivity.onCreate(SecondActivity.java:32)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
下面是activity_second.xml:
<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:background="#cefcfd"
tools:context="khurana.nikhil.lovemeter.SecondActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView3"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="68dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView4"
android:layout_below="@+id/textView3"
android:layout_centerHorizontal="true"
android:layout_marginTop="51dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView5"
android:layout_above="@+id/textView6"
android:layout_alignStart="@+id/textView6"
android:layout_marginBottom="84dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView6"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="51dp" />
</RelativeLayout>
tv8=(TextView)findViewById(R.id.editText4);
tv9=(TextView)findViewById(R.id.editText5);
tv10=(TextView)findViewById(R.id.editText6);
将这些更改为:
tv8=(TextView)findViewById(R.id.textView4);
tv9=(TextView)findViewById(R.id.textView5);
tv10=(TextView)findViewById(R.id.textView6);
你只是用错了身份证。
我的应用程序有问题,我想解决它,但我无法访问解决方案,请帮助我,,,
我正在尝试实现一个外部色轮,它应该出现在的片段一直在崩溃我的应用程序。我想我明白为什么会发生这种情况,但是在尝试修复它大约6个小时后,我就要放弃了。我知道之前有人问过这个问题,但是我无法为我的特定问题导出一个修复程序。下面是我的代码: 这是Logcat错误: 如果有人能帮我解决这个问题,那就太好了。提前谢谢^^ 编辑:这是我的XML,按要求:
我将使用库,并尝试在应用程序启动时使用以下方法获取令牌。 应用程序在发布时崩溃 AndroidManifest Build.Gradle: 此外,我尝试在SharedPreferences中缓存令牌,但似乎从未调用onNewToken()。 会有什么问题?
我将要制作android应用程序,但是由于致命的异常:main java.lang.NullPointerException应用程序没有保存数据,请在这里帮助我 这是我的EditNoteActivity 这是我的Logcat错误
我正在使用下面的代码从playstore中获取versionName,通过使用jsoup,我正在获取详细信息,但它会引发一些异常。 我的密码是 请有人帮我解决这个问题。
问题内容: 我收到以下错误 尝试在空对象引用上调用虚拟方法’void android.widget.StackView.setAdapter(android.widget.Adapter)’ 在这条线上 完整的片段 EventsFragment.java 是 Stack_Adapter.java Stack_Items 问题答案: 您正在执行: 你是。返回。 你为什么用? 在哪里?您应该从正确的x