两个 Activity , FirstActivity(有个跳转的按钮,和一个TextView和一个EditText)和 SecondActivity(有个返回的按钮和一个TextView,和一个EditText),我知道通过Bundle可以从FirstActivity像SecondActivity跳转并将数据 从FirstActivity传送到SecondActivity中并且用TextView'显示出来,但是我现在面临了一个问题就是我搜索的结果就是null空值,怎样才能调用到我的lucene的包的结果并输出?

解决方案 »

  1.   

    我的部分代码~!package com.samples;import android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;public class AndLuc extends Activity {
      /** Called when the activity is first created. */
      
      EditText inputEditText;
    TextView resulTextView;
      Button goButton;
    // String result;
      ThreadLuc thread;
      public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      inputEditText=(EditText)findViewById(R.id.search);
      resulTextView=(TextView)findViewById(R.id.result);
      goButton=(Button)findViewById(R.id.BTN_LAUNCH);
      goButton.setOnClickListener(new OnClickListener(){public void onClick(View v) {
    // TODO Auto-generated method stub
    String input=inputEditText.getText().toString();
    thread= new ThreadLuc(input,handler);thread.start();}
      
      });
        
      }
      Handler handler=new Handler(){
      public void handleMessage(Message msg)
    {
      Log.i("Luc","Luc-handle");
      Bundle bundle=msg.getData();
      String result = bundle.getString("result");
      resulTextView.setText("检索结果:"+result);
      super.handleMessage(msg);
    }
      };

     
     
    对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:apache+tomcat?(在线等,顶者有分) 
     
    gsj5533
     
    (gsj5533) 等 级:  #2楼 得分:0回复于:2011-04-06 13:08:10package com.samples;import java.io.IOException;import org.apache.lucene.index.CorruptIndexException;
    import org.apache.lucene.queryParser.ParseException;
    import org.apache.lucene.search.highlight.InvalidTokenOffsetsException;
    import org.apache.lucene.store.LockObtainFailedException;import test.test;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;public class ThreadLuc extends Thread {
    String input;
    Handler handler;
    String result;public ThreadLuc(String input,Handler handler) {
    // TODO Auto-generated constructor stub
    this.input=input;
    this.handler=handler;
    // Log.i("Luc","ThreadLuc");
    }  public void run() {
    // Bundle bundle=new Bundle();
    // bundle.putString("result", result);
    // Message msg=new Message();
    // msg.setData(bundle);
    // handler.sendMessage(msg);
    // Log.i("Luc", "thread-->run");
    // try {
    // test tempTest=new test();
    // result=tempTest.search(input);
    // } catch (CorruptIndexException e) {
    // // TODO Auto-generated catch block
    // e.printStackTrace();
    // Log.i("Luc","ThreadLuc---1");
    // } catch (LockObtainFailedException e) {
    // // TODO Auto-generated catch block
    // Log.i("Luc","ThreadLuc---2");
    // e.printStackTrace();
    // } catch (IOException e) {
    // // TODO Auto-generated catch block
    // Log.i("Luc","ThreadLuc---3");
    // e.printStackTrace();
    // } catch (ParseException e) {
    // // TODO Auto-generated catch block
    // Log.i("Luc","ThreadLuc---4");
    // e.printStackTrace();
    // } catch (InvalidTokenOffsetsException e) {
    // // TODO Auto-generated catch block
    // 
    // Log.i("Luc","ThreadLuc---5");e.printStackTrace();
    // }
    Bundle bundle=new Bundle();
    bundle.putString("result",result);Message msg=handler.obtainMessage();
    msg.setData(bundle);
    handler.sendMessage(msg);
    }

     
     
    对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:研究java源代码:关于Arrays.sort 
     
    gsj5533
     
    (gsj5533) 等 级:  #3楼 得分:0回复于:2011-04-06 13:08:49调用这里的result~!package test;import java.io.IOException;
    import java.util.Date;import org.apache.lucene.index.CorruptIndexException;
    import org.apache.lucene.queryParser.ParseException;
    import org.apache.lucene.search.highlight.InvalidTokenOffsetsException;
    import org.apache.lucene.store.LockObtainFailedException;import Function.addIndex;
    import Function.createIndex;
    import Function.define;
    import Function.search;public class test {
    public String search(String args) throws CorruptIndexException, LockObtainFailedException, IOException, ParseException, InvalidTokenOffsetsException {
    //定义一下data和Index的位置
    define d = new define();
    d.setDataPath("/mnt/Sdcard/Data");
    d.setIndexPath("/mnt/Sdcard/Index");
    d.setSearchString(args);
    Date start = new Date();
    createIndex crtidx = new createIndex();
    crtidx.cIndex(d);
    // addIndex adidx = new addIndex();
    // adidx.aIndex(d);
    Date end = new Date();
    System.out.println(end.getTime()-start.getTime());
    search srh = new search();
    srh.sIndex(d);
    String result=srh.getresult();
    if(result==null){
    return "error";
    }else{
    return result;
    }
    }
    }
     
     
      

  2.   

    我的部分代码~!package com.samples;import android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;public class AndLuc extends Activity {
      /** Called when the activity is first created. */
      
      EditText inputEditText;
    TextView resulTextView;
      Button goButton;
    // String result;
      ThreadLuc thread;
      public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      inputEditText=(EditText)findViewById(R.id.search);
      resulTextView=(TextView)findViewById(R.id.result);
      goButton=(Button)findViewById(R.id.BTN_LAUNCH);
      goButton.setOnClickListener(new OnClickListener(){public void onClick(View v) {
    // TODO Auto-generated method stub
    String input=inputEditText.getText().toString();
    thread= new ThreadLuc(input,handler);thread.start();}
      
      });
        
      }
      Handler handler=new Handler(){
      public void handleMessage(Message msg)
    {
      Log.i("Luc","Luc-handle");
      Bundle bundle=msg.getData();
      String result = bundle.getString("result");
      resulTextView.setText("检索结果:"+result);
      super.handleMessage(msg);
    }
      };
    }
      

  3.   

    package com.samples;import java.io.IOException;import org.apache.lucene.index.CorruptIndexException;
    import org.apache.lucene.queryParser.ParseException;
    import org.apache.lucene.search.highlight.InvalidTokenOffsetsException;
    import org.apache.lucene.store.LockObtainFailedException;import test.test;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;public class ThreadLuc extends Thread {
    String input;
    Handler handler;
    String result;public ThreadLuc(String input,Handler handler) {
    // TODO Auto-generated constructor stub
    this.input=input;
    this.handler=handler;
    // Log.i("Luc","ThreadLuc");
    }  public void run() {
    // Bundle bundle=new Bundle();
    // bundle.putString("result", result);
    // Message msg=new Message();
    // msg.setData(bundle);
    // handler.sendMessage(msg);
    // Log.i("Luc", "thread-->run");
    // try {
    // test tempTest=new test();
    // result=tempTest.search(input);
    // } catch (CorruptIndexException e) {
    // // TODO Auto-generated catch block
    // e.printStackTrace();
    // Log.i("Luc","ThreadLuc---1");
    // } catch (LockObtainFailedException e) {
    // // TODO Auto-generated catch block
    // Log.i("Luc","ThreadLuc---2");
    // e.printStackTrace();
    // } catch (IOException e) {
    // // TODO Auto-generated catch block
    // Log.i("Luc","ThreadLuc---3");
    // e.printStackTrace();
    // } catch (ParseException e) {
    // // TODO Auto-generated catch block
    // Log.i("Luc","ThreadLuc---4");
    // e.printStackTrace();
    // } catch (InvalidTokenOffsetsException e) {
    // // TODO Auto-generated catch block
    // 
    // Log.i("Luc","ThreadLuc---5");e.printStackTrace();
    // }
    Bundle bundle=new Bundle();
    bundle.putString("result",result);Message msg=handler.obtainMessage();
    msg.setData(bundle);
    handler.sendMessage(msg);
    }
    }