2016-11-10 52 views
-1

我刚刚开始Android和Java新手。我正在尝试构建一个应用程序,该应用程序在数组列表中显示一个随机字符串,在我的情况下是一个引号。我希望报价在textview中显示,但我也接受显示报价的不同方法。我尝试了两种方法来完成这个任务,但都没有成功。我注意到,两种方式都有添加问题 - 当我将鼠标悬停在添加(这是红色)时,它表示无法解析符号“添加”。这是我第一次尝试:ArrayList的随机字符串到textview,无法解析符号'add'

import android.net.Uri; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.widget.TextView; 

import com.google.android.gms.appindexing.Action; 
import com.google.android.gms.appindexing.AppIndex; 
import com.google.android.gms.appindexing.Thing; 
import com.google.android.gms.common.api.GoogleApiClient; 

import java.util.ArrayList; 
import java.util.Random; 

public class MainActivity extends AppCompatActivity { 

ArrayList<String> strings = new ArrayList<String>(); 

strings.add("quote 1"); 
strings.add("second quote"); 
strings.add("new quote"); 
strings.add("quote"); 
strings.add("sgbsb"); 
strings.add("sgsgb"); 
strings.add("sfgbdfg"); 
Random r = new Random(); 

String string = strings.get(r.nextInt(strings.size())); 
TextView text = (TextView) findViewById(R.id.textView2); 

private GoogleApiClient client; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build(); 
} 


public Action getIndexApiAction() { 
    Thing object = new Thing.Builder() 
      .setName("Main Page") // TODO: Define a title for the content shown. 
      // TODO: Make sure this auto-generated URL is correct. 
      .setUrl(Uri.parse("http://[ENTER-YOUR-URL-HERE]")) 
      .build(); 
    return new Action.Builder(Action.TYPE_VIEW) 
      .setObject(object) 
      .setActionStatus(Action.STATUS_TYPE_COMPLETED) 
      .build(); 
} 

@Override 
public void onStart() { 
    super.onStart(); 

    client.connect(); 
    AppIndex.AppIndexApi.start(client, getIndexApiAction()); 
} 

@Override 
public void onStop() { 
    super.onStop(); 
    AppIndex.AppIndexApi.end(client, getIndexApiAction()); 
    client.disconnect(); 
} 

}

在我的第二次尝试,它采用了略有不同的代码(这就是为什么我留下了很多了),问题变得最差。它具有NextINT,大小和get的问题。

import android.net.Uri; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.widget.TextView; 

import com.google.android.gms.appindexing.Action; 
import com.google.android.gms.appindexing.AppIndex; 
import com.google.android.gms.appindexing.Thing; 
import com.google.android.gms.common.api.GoogleApiClient; 

import java.util.ArrayList; 
import java.util.Random; 

public class MainActivity extends AppCompatActivity { 


    ArrayList<String> strings = new ArrayList<String>(); 
strings.add("My adress is 1274 ogden st"); 
strings.add("fsdfs"); 
strings.add("bsgsgb"); 
strings.add("sgbfg"); 
strings.add("sgbsb"); 
strings.add("sgsgb"); 
strings.add("sfgbdfg"); 


Random random = new Random(); 

strings.get(random.nextInt(strings.size())) 
TextView text = (TextView) findViewById(R.id.textView2); 

private GoogleApiClient client; 
text.seText((CharSequence)strings)); 

有没有办法解决无法解决符号问题?我尝试了所有在互联网上找到的建议,包括Stackoverflow。

回答

0

问题是你在一个他们不能被调用的地方调用函数。由于语句必须出现在一段代码中。

下面是一个基本的Java类:

public class TheClassName { 
    // You can now define methods or field variables here, like so: 
    private int aField; 
    private List<String> strings = new ArrayList<String>(); 

    // The following is called a Constructor 
    public TheClassName() { 
     // this is a place where you can initialize any field or manipulate it. 
     this.aField = 2; // would set the value for aField to 2. 
     // you can also add some Strings to the ArrayList here 
     strings.add("fsdfs"); 
    } 

    // method: 
    public void aMethod() { 
     // you can now execute code here 
     aField = aField + 1; // adds 1 to the field 
    } 
} 

我希望这实际上帮助你。