2

在以下代码中如何将 pwd 传递给 onclick 事件

String pwd ="/root";   

final ListView lv = (ListView) findViewById(R.id.list);
lv.setOnItemClickListener(new OnItemClickListener() {   
  public void onItemClick(AdapterView<?> myAdapter, View myView, int myItemInt, long mylng)
        Toast.makeText(MainActivity.this,pwd , Toast.LENGTH_SHORT).show();
    }

编辑1:

final String pwd = null;

string pwd ="root"; //Error remove final keyword
final ListView lv = (ListView) findViewById(R.id.list);
lv.setOnItemClickListener(new OnItemClickListener() {   
   public void onItemClick(AdapterView<?> myAdapter, View myView, int myItemInt, long mylng)
        Toast.makeText(MainActivity.this,pwd , Toast.LENGTH_SHORT).show();
    }
4

4 回答 4

1

根据 MA​​C 建议将 pwd 声明为 Globle 解决了问题@MAC

于 2012-10-01T10:07:57.743 回答
0

在 onCreate 方法上方声明您的 String pwd。

class demo extends Activity
{String pwd;
onCreate()
{pwd="/root";
final ListView lv = (ListView) findViewById(R.id.list);

lv.setOnItemClickListener(new OnItemClickListener() {   
public void onClick(View arg0) {
Toast.makeText(MainActivity.this,pwd , Toast.LENGTH_SHORT).show();

    }
        }
于 2012-09-26T11:12:36.613 回答
0

这就是我曾经做过的事情

public class NatigationOnClick implements OnClickListener {

    String title;
    String html;
    private QuickActionWeb webQuickAction;
    private Context context;
    private View row;

    public NatigationOnClick(String title, String html, Context context,
            View row) {
        this.title = title;
        this.html = html;
        this.context = context;
        this.row = row;
    }

    public void onClick(View v) {

        webQuickAction = new QuickActionWeb(context, QuickActionWeb.VERTICAL,
                title + "<br/>" + html);
        webQuickAction.show(row);

    }

}

现在...

view.setOnClickListener(new NatigationOnClick(title, html, context, row));

希望有所帮助

于 2012-09-26T11:16:58.510 回答
0

也许这可以帮助你:

final ListView lv = (ListView) findViewById(R.id.list);
lv.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(MainActivity.this, getPwd(), Toast.LENGTH_SHORT).show();
        }
});


String pwd = "root";

private String getPwd()
{
    return pwd;
}
于 2012-09-26T11:42:54.017 回答