java - 为什么我似乎无法在我的 OnClick 方法中访问我的 title 变量

标签 java android

我正在构建一个应用程序,它将在数组中搜索两个或多个字符串并返回与这两个字符串相关的一些信息。我需要在 OnClick 中访问名为 title 的变量。这是我的代码:

package com.rottenapi.applogictest;

import java.util.ArrayList;
import java.util.List;

import org.json.JSONArray; 

import org.json.JSONObject;

import android.os.Bundle;
 import android.app.Activity;
import android.util.Log;
 import android.view.Menu;

import android.widget.EditText;
import android.widget.Button;
import android.view.View;

public class Main extends Activity {

private static String url = "http://api.rottentomatoes.com/api/public/v1.0/movies/770672123/cast.json?apikey=3p9ehnhzbxwpbd6mk8fncf67";
private static String TAG_CAST = "cast";
private static String TAG_LINKS = "links";
private static String TAG_NAME = "name";

public static String TAG_REL = "rel";
private static String TAG_TITLE = "Title";

EditText enterName;
EditText enterNameTwo;
EditText result;


Button findMovie;

String searchOne;
String searchTwo;
public String title;

List<String> castMembers = new ArrayList<String>();

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mainlayout);



    JSONArray cast = null;

    JSONArray rel = null;

    JSONArray links = null;



    final JSONParser jParser = new JSONParser();

    final JSONObject jSon = jParser.getJSONFromUrl(url);



    enterName = (EditText) findViewById(R.id.enterName);
    enterNameTwo = (EditText) findViewById(R.id.enterNameTwo);
    result = (EditText) findViewById(R.id.result);

    searchOne = enterName.getText().toString();
    searchTwo = enterNameTwo.getText().toString();

    try{
        cast = jSon.getJSONArray(TAG_CAST);

        for(int i=0; i < cast.length(); i++){
            JSONObject c = cast.getJSONObject(i);

            String name = c.getString(TAG_NAME);

            castMembers.add(name);
        }

        if (castMembers.contains(searchOne) && castMembers.contains(searchTwo)){
            links = jSon.getJSONArray(TAG_LINKS);
            for(int i=0; i < links.length(); i++){
                JSONObject d = links.getJSONObject(i);

                String movieInfoLink = d.getString(TAG_REL);

                JSONObject jSonMovie = jParser.getJSONFromUrl(movieInfoLink);

                rel = jSonMovie.getJSONArray(TAG_REL);





            }for(int i =0; i < rel.length(); i++){

                JSONObject e = rel.getJSONObject(i);

                title = e.getString(TAG_TITLE);




            }
            findMovie.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Log.d("Result contents", title);
                    result.setText(title);
                }
            });


        }

        }
        catch(Exception e){
            Log.e("Error", e.toString());
        }


}






@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.mainlayout, menu);
    return true;
}

当我运行此应用程序时,该应用程序会显示在模拟器中,但是在单击按钮后没有任何反应,也没有在 logcat 中打印错误。我的结果内容日志也没有在日志中打印出来。有什么想法吗?

最佳答案

按钮 findMovie 未通过 findViewById()

调用

关于java - 为什么我似乎无法在我的 OnClick 方法中访问我的 title 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12024052/

相关文章:

java - 尝试编写Java程序来播放mp3文件

java - 要查看的自定义 xml 文件

android - 如何从我的 DatePicker fragment 传输格式化的日期字符串?

android - 如何在 RelativeLayout 或屏幕外稍微显示一个 ImageView?如何在屏幕左上角显示一个橡皮

java.util.zip.ZipException : duplicate entry: org/apache/commons/collections/ArrayStack. 类

java - 如何从Map中获取最近100条数据?

java - Android Studio下面的类无法实例化?

Java-Swing 和 Windows 文本大小 : fix the size of components

android - ObjectBox - 由于 UID 不匹配而出现 DBException

java - 媒体元数据检索器 JNI : getEmbeddedPicture failed