-1

path関数からの値をonListItemClick()同じクラスに渡そうとしています。しかし、私にはそれができません。次のサンプル コードを参照してください -

public void insert(String path) //I want to pass this path variable to onListItemClick().
{
  setListAdapter(adapter);
}
protected void onListItemClick(ListView l, View v, int position, long id) {

super.onListItemClick(l, v, position, id);

  // ListView Clicked item index
   int itemPosition     = position;

  // ListView Clicked item value
   String  itemValue    = (String) l.getItemAtPosition(position);

 //  content.setText("Click : \n  Position :"+itemPosition+"  \n  ListItem : " +itemValue);
   info.insert(path,itemValue); //Here I am using the path variable.


} 

私はアンドロイドの初心者なので、私を助けてください。

前もって感謝します。

4

1 に答える 1

1

実装しているインターフェースはわかりませんが、インスタンスメソッド全体でインスタンスフィールドを使用することで、この問題を解決できます

public class Main {
    private String tempPath;

    public void insert(String path) {       
        this.tempPath = path;
        onListItemClick(null, null, 0, 0);
    }

    public void onListItemClick(Object l, Object v, int position, long id) { // just for show, should be your actual method
        System.out.println(tempPath); // do some null check, obviously
    }

    public static void main(String[] args) throws Exception {
        Main main = new Main();
        main.insert("Path to enlightenment.");
    }
}
于 2013-09-24T14:00:07.010 に答える