2012-02-22 15 views
0

私はListViewをいくつかの情報とともに持っています。私がLisViewの行を押すと、他のアクティビティに行き、行の引数を渡したいと思っています。他のアクティビティへのパラメータの受け渡し

@Override 保護ボイドonListItemClick(リストビューL、ビューV、INT位置、長いID){

Thread my_files_thread = new Thread(){ 

    //start thread 
    public void run(){ 
     try{ 

      startActivity(new Intent("android.app.reader.FILES")); 


     }catch (Exception e) { 
       // TODO: handle exception 
      e.printStackTrace(); 
      }finally{ 

       //finish(); 
      } 
    } 

};// Brackets means that thread is closing 

my_files_thread.start(); 

}

ファイルクラス:

今の

私はこれを持っています

public class Files extends Activity{ 

    public String name = null; 

    @Override 
     public void onCreate(Bundle savedInstanceState) { 

      super.onCreate(savedInstanceState); 
      setContentView(R.layout.files); 

    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     name = name; 
    } 
} 

私はsetterを呼び出して、そのアクティビティを開きます。私はこれを行うことができますか?あるいは、私がやるべき他の方法があります。

ありがとうございました。

+3

なぜあなたは新しい活動を開始したスレッドを使用しているの?あなたはこの単純なタスクにスレッドを導入する必要はありません – waqaslam

+0

行の引数はどういう意味ですか?あなたがクリックしたアイテムの位置ですか? – waqaslam

答えて

2

まず第一に私はあなたがonListItemClickにスレッドを使用している理由を理解していません。私はそれを使用するとは思わない。

onListItemClick

Intent intent = new Intent("android.app.reader.FILES"); 
intent.putExtra("whatever", "value to pass"); 
startActivity(intent); 

から新しい活動を開始し、次のコードを使用してFiles活動でこの値を取得するには、次のコードを使用します

public void onCreate(Bundle saveInstanceState) { 
    Intent fromIntent = getIntent(); //returns intent which started this activity 
    String myValue = fromIntent.getStringExtra("whatever"); //returns the value passed by old activity 
... 
} 
3

putExtraを使用して、インテントに引数を追加します。

Intent i= new Intent("android.app.reader.FILES"); 
    i.putExtra("arg", position); 
    startActivity(i); 
先のアクティビティの使用において

Intent i1 = getIntent(); 
int pos = i1.getIntExtra("arg") 

値を取得します。

関連する問題