Java 如何在Android应用程序上使用随机点击和计数点击

Java 如何在Android应用程序上使用随机点击和计数点击,java,android,xml,random,Java,Android,Xml,Random,我正在制作这个应用程序,当你按下喜欢或不喜欢 它将计算数字并保存它。 这并不难,但问题是 我需要随机选择姓名,并分别为每个随机选择的姓名保存喜欢和不喜欢的内容,但每次我按“喜欢”或“不喜欢”随机生成一个新数字,并将喜欢或不喜欢的内容存储在新的随机选择的姓名上 我在下面发布了我所有的代码,对于这个例子,我只有三个名字和数组上的固定数字,这样你就可以自己轻松地检查问题了 MainActivity java package gr.com.plaza.stackoverflowquestion; im

我正在制作这个应用程序,当你按下喜欢或不喜欢 它将计算数字并保存它。 这并不难,但问题是 我需要随机选择姓名,并分别为每个随机选择的姓名保存喜欢和不喜欢的内容,但每次我按“喜欢”或“不喜欢”随机生成一个新数字,并将喜欢或不喜欢的内容存储在新的随机选择的姓名上

我在下面发布了我所有的代码,对于这个例子,我只有三个名字和数组上的固定数字,这样你就可以自己轻松地检查问题了

MainActivity java

package gr.com.plaza.stackoverflowquestion;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.content.Intent;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Second question = new Second();

    TextView boyname = (TextView)findViewById(R.id.boy);
    boyname.setText(question.getboyname());
    TextView girlname = (TextView)findViewById(R.id.girl);
    girlname.setText(question.getgirlname());
}
public void yesclick(View v){
    Intent click = new Intent(this, SecondActivity.class);

    String boyname = ((TextView)findViewById(R.id.boy)).getText().toString();
    click.putExtra("boyname", boyname);
    String girlname = ((TextView)findViewById(R.id.girl)).getText().toString();
    click.putExtra("girlname", girlname);

    startActivity(click);
}
public void noclick(View v){
    Intent click = new Intent(this, SecondActivity.class);

    String boyname = ((TextView)findViewById(R.id.boy)).getText().toString();
    click.putExtra("boyname", boyname);
    String girlname = ((TextView)findViewById(R.id.girl)).getText().toString();
    click.putExtra("girlname", girlname);

    startActivity(click);
}
}
package gr.com.plaza.stackoverflowquestion;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.content.Intent;

public class SecondActivity extends AppCompatActivity {

Second question = new Second();
private int likes = question.getlikes();
private int dislikes = question.getdislikes();
private int count = question.getcounter();

private boolean isbuttonclicked = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);

    Bundle mainactivitydata = getIntent().getExtras();

    String boyname = mainactivitydata.getString("boyname");
    TextView boynamesecond = (TextView)findViewById(R.id.boysecond);
    boynamesecond.setText(boyname);
    String girlname = mainactivitydata.getString("girlname");
    TextView girlnamesecond = (TextView)findViewById(R.id.girlsecond);
    girlnamesecond.setText(girlname);

    Button like = (Button)findViewById(R.id.like);
    Button dislike = (Button)findViewById(R.id.dislike);

    like.setOnClickListener(
            new Button.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (v.getId() == R.id.like) {
                        isbuttonclicked = !isbuttonclicked;
                        TextView like = (TextView)findViewById(R.id.like);

                        like.setText(count+"  " + likes++);
                    }
                }
            }
    );
    dislike.setOnClickListener(
            new Button.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (v.getId() == R.id.like) {
                        isbuttonclicked = !isbuttonclicked;
                        TextView dislike = (TextView)findViewById(R.id.dislike);

                        dislike.setText(count+"  " + dislikes++);
                    }
                }
            }
    );
}
public void answeredclick(View v){
    Intent click = new Intent(this, MainActivity.class);
    startActivity(click);
}

}
第二活动java

package gr.com.plaza.stackoverflowquestion;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.content.Intent;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Second question = new Second();

    TextView boyname = (TextView)findViewById(R.id.boy);
    boyname.setText(question.getboyname());
    TextView girlname = (TextView)findViewById(R.id.girl);
    girlname.setText(question.getgirlname());
}
public void yesclick(View v){
    Intent click = new Intent(this, SecondActivity.class);

    String boyname = ((TextView)findViewById(R.id.boy)).getText().toString();
    click.putExtra("boyname", boyname);
    String girlname = ((TextView)findViewById(R.id.girl)).getText().toString();
    click.putExtra("girlname", girlname);

    startActivity(click);
}
public void noclick(View v){
    Intent click = new Intent(this, SecondActivity.class);

    String boyname = ((TextView)findViewById(R.id.boy)).getText().toString();
    click.putExtra("boyname", boyname);
    String girlname = ((TextView)findViewById(R.id.girl)).getText().toString();
    click.putExtra("girlname", girlname);

    startActivity(click);
}
}
package gr.com.plaza.stackoverflowquestion;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.content.Intent;

public class SecondActivity extends AppCompatActivity {

Second question = new Second();
private int likes = question.getlikes();
private int dislikes = question.getdislikes();
private int count = question.getcounter();

private boolean isbuttonclicked = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);

    Bundle mainactivitydata = getIntent().getExtras();

    String boyname = mainactivitydata.getString("boyname");
    TextView boynamesecond = (TextView)findViewById(R.id.boysecond);
    boynamesecond.setText(boyname);
    String girlname = mainactivitydata.getString("girlname");
    TextView girlnamesecond = (TextView)findViewById(R.id.girlsecond);
    girlnamesecond.setText(girlname);

    Button like = (Button)findViewById(R.id.like);
    Button dislike = (Button)findViewById(R.id.dislike);

    like.setOnClickListener(
            new Button.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (v.getId() == R.id.like) {
                        isbuttonclicked = !isbuttonclicked;
                        TextView like = (TextView)findViewById(R.id.like);

                        like.setText(count+"  " + likes++);
                    }
                }
            }
    );
    dislike.setOnClickListener(
            new Button.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (v.getId() == R.id.like) {
                        isbuttonclicked = !isbuttonclicked;
                        TextView dislike = (TextView)findViewById(R.id.dislike);

                        dislike.setText(count+"  " + dislikes++);
                    }
                }
            }
    );
}
public void answeredclick(View v){
    Intent click = new Intent(this, MainActivity.class);
    startActivity(click);
}

}
主活动xml

<?xml version="1.0" encoding="utf-8"?>
<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: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="gr.com.plaza.stackoverflowquestion.MainActivity"
android:id="@+id/main">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="@string/boyname"
    android:id="@+id/boy"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="61dp" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="@string/girlname"
    android:id="@+id/girl"
    android:layout_below="@+id/boy"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="49dp" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/yesbutton"
    android:id="@+id/yes"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:onClick="yesclick" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/nobutton"
    android:id="@+id/no"
    android:layout_below="@+id/yes"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="39dp"
    android:onClick="noclick" />

</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<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: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="gr.com.plaza.stackoverflowquestion.SecondActivity">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="@string/boyname"
    android:id="@+id/boysecond"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="61dp" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="@string/girlname"
    android:id="@+id/girlsecond"
    android:layout_below="@+id/boysecond"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="49dp" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/answered"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:onClick="answeredclick" />


<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/likebutton"
    android:id="@+id/like"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/dislikebutton"
    android:id="@+id/dislike"
    android:layout_alignBottom="@+id/like"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />
</RelativeLayout>
和AndroidManifest xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="gr.com.plaza.stackoverflowquestion">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".SecondActivity"></activity>
</application>

</manifest>

很抱歉发了这么长的帖子,但我很绝望

到目前为止,我唯一想到的是一个布尔值,只有当它为真时,它才会使random生成一个新的数字,但我不知道这是否有效,而且我也不知道如何做。
我想提前感谢大家

示例
在create Random上为Second.class中的数组生成索引
假设它生成了1
然后在屏幕上显示在字符串数组中有索引1的名称
吉姆,海伦
然后按是或否
“喜欢”和“不喜欢”按钮出现

但当您按“喜欢”或“不喜欢”时,Random会生成一个新数字并在屏幕上显示该数字,但我希望它在屏幕上显示它第一次生成的数字,而不是生成一个新数字

请缩短代码并准确显示您希望在哪一行实现某项目标。您能再次解释一下您希望实现的目标吗?也许举个例子吧?上次我发布了一个简短的代码,有人让我发布整个代码,这样他就可以运行应用程序了,所以我删除了这个帖子并创建了这个。我现在添加一个示例添加一个示例。我没有代表来发布图片,是的,缩短你的代码并准确地显示你想在哪一行实现目标。你能再解释一下你想实现什么吗?也许举个例子吧?上次我发布了一个简短的代码,有人让我发布整个代码,这样他就可以运行应用程序了,所以我删除了这个帖子并创建了这个。我现在添加一个示例添加一个示例。我还没有销售代表发布图片