如何在项目选择上使用urlid(路径)切换项目

时间:2011-12-01 07:53:38

标签: android

Hits hits = indexSearcher.search( parser.parse("("+ "text:" +mEdit.getText().toString() + ")"));
String txt2[] =new String[100];
String txt="";
for (int i = 0; i < hits.length(); i++)
{
    Document hitDoc = hits.doc(i);
    Log.i("TestAndroidLuceneActivity", "Lucene: " +hitDoc.get("title")+ hitDoc.get("path"));
    txt=hitDoc.get("title");
    txt2[i]=txt;     
    final String path= hitDoc.get("path");
    lv.setAdapter(new ArrayAdapter<String>(Lucenconcept.this,android.R.layout.simple_list_item_1 ,txt2));   
}

lv.setOnItemClickListener(new OnItemClickListener() {
    @Override

    public void onItemClick(AdapterView<?> myAdapter, View myView, int myItemInt, long mylng) {
        Intent intent = new Intent(Lucenconcept.this,ShowDetails.class);
        Bundle bundle = new Bundle();
        bundle.putString("keyLink", path );
        intent.putExtras(bundle);
        startActivity(intent);
    }
});

我编写了这段代码,用于切换另一个活动但在bundle中没有不同的URL-id或路径ID。存储了每个url字符串,但是当我进入下一个活动时。

String link = bundle.getString("keyLink");
Toast.makeText(this,link,Toast.LENGTH_SHORT).show();

在下一个活动中检索URL-id或路径的代码,但没有区别,它给出了常量url。 请帮帮我,我无法确定位置。

1 个答案:

答案 0 :(得分:0)

for (int i = 0; i < hits.length(); i++)
{
    Document hitDoc = hits.doc(i);
    Log.i("TestAndroidLuceneActivity", "Lucene: " +hitDoc.get("title")+ hitDoc.get("path"));
    txt=hitDoc.get("title");
    txt2[i]=txt;     
    final  String path= hitDoc.get("path");
    ...
}

从上面的代码中,似乎路径包含最后一个doc的URL;因为您将所有值存储在相同的路径变量中。 要解决它,您必须获取函数public void onItemClick(...)上的路径值,该函数包含第三个参数作为列表项的您点击的位置。 在函数onItemClick(...)

上写下面的代码
Document hitDoc = hits.doc(<listItemPosition>);
txt=hitDoc.get("title");
path= hitDoc.get("path");
Intent intent = new Intent(Lucenconcept.this,ShowDetails.class);
Bundle bundle = new Bundle();
bundle.putString("keyLink", path );
intent.putExtras(bundle);
startActivity(intent);