将值从MainActivity传递到自定义listview适配器类

时间:2015-05-17 14:00:39

标签: java android listview

我想将String值传递给我的自定义listview适配器类。我是按照下面的代码做的,但它没有用。

MainActivity.java

private ArrayList<Item> generateData(String book_name)
{    
    MyAdapter adapter=new MyAdapter(getApplicationContext(),null);
    adapter.message = "hello"; 

MyAdapter.java

public class MyAdapter extends ArrayAdapter<Item> {

    public String message;

然后在getView

@Override
    public View getView(int position, View convertView, ViewGroup parent) 
    {            
        title.setText(itemsArrayList.get(position).getTitle());
        if(message == "hello")
        {
            //do something here
        }

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

我认为正在发生的是你创建在设置消息之前调用getView的适配器。因此,在您的自定义适配器中,您可以更改构造函数,以便接收消息。

<?
session_start();
session_regenerate_id();
if(!isset($_SESSION['user'])){
       header("Location: ../index.php");
    exit;
}


if(isset($_POST["submit"])){
include_once'../../config.php';

try {



$dbh = new PDO("mysql:host=$hostname;dbname=dashboardr",$username,$password);

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line

$sql = "INSERT INTO doc_list (doc_title, doc_content, doc_created, user_id, cat_no) VALUES ('".$_POST["doc_title"]."','".$_POST["doc_content"]."',NOW(), '".$_SESSION['user']."','".$_POST['cat_no']."')";

    print_r($_POST);

if ($dbh->query($sql)) {
    header ('Location: ../docList.php?success=1');
}
else{
}

$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}

}
?>

答案 1 :(得分:0)

问题是你的字符串比较是错误的。您应该使用equals方法而不是==。因此,比较线应如下所示:

if ("hello".equals(message)) {
    //your code here
}