2

リスト ビューとリニア レイアウトのボタンがあります。ListActivity(to use Onlistitemclick) を拡張することはできませんが、SQLite DB から詳細を入力する必要がある別のビューを開くリスト ビューで項目を選択する必要があります。

データベースが機能すると仮定して、次のコードにこれを実装する最良の方法は何ですか? 私は初心者です。メソッドとコードに関連するすべての提案を歓迎します。

前もって感謝します、

public class Contacts extends Activity implements OnClickListener {
    int NewContact_Request_Code = 1;
    Button newcontact;
    ListView listview;
    public static final String LOG_TAG = "Contacts";
    int mInt = 0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contactview);
        // Set the content to contactview.xml

        // newcontact = NEW CONTACT button
        // listview = MyList List View
        newcontact = (Button) findViewById(R.id.baddcontact);
        listview = (ListView) findViewById(R.id.mylist);

        // Make a New Database
        DBContact info = new DBContact(this);
        // Open , get Information from database and close it
        info.open();
        String[] data = info.queryAll();
        info.close();
        // listview = getListView();
        listview.setTextFilterEnabled(true);
        // Display the names
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(Contacts.this, android.R.layout.simple_list_item_1, data);
         listview.setAdapter(adapter);
        newcontact.setOnClickListener(this);

    }

    // @Override
    // protected void onListItemClick(ListView l, View v, int position, long id)
    // {
    // // TODO Auto-generated method stub
    // super.onListItemClick(l, v, position, id);
    // Intent viewintent = new Intent(Contacts.this, ViewContact.class);
    // String item = (String) getListAdapter().getItem(position);
    // viewintent.putExtra("name_clicked", item);
    // startActivity(viewintent);
    //
    // }



    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent newintent = new Intent(Contacts.this, AddNewContact.class);
        // start actiivity for result - to get the name of the new contact
        startActivityForResult(newintent, 0);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        // pass the value of the string via cursor and update the list
    }

}
4

4 に答える 4

7

OnItemClickListenerListView以下のように設定できます

listview.setOnItemClickListener(new OnItemClickListener() {

  public void onItemClick(AdapterView adapterView, View view, int position, long id) {

        //Do some more stuff here and launch new activity

  }
});
于 2012-09-26T05:52:41.257 に答える
2

onItemClickListener次のように明示的に設定できます。

listview.setOnItemClickListener(listener);

はどこlistenerですかAdapterView.OnItemClickListener

于 2012-09-26T05:43:37.140 に答える
0
private final ListView.OnItemClickListener ListClick = new OnItemClickListener() {
    public void onItemClick(AdapterView parent, View view, int position, long id) {
        // your action
    }
};

このように設定します

listview.setOnItemClickListener(ListClick);
于 2012-09-26T05:50:43.970 に答える
0

OnItemClickListener()リストビューに使用このアクティビティを拡張する必要はありませんListActivity

listview.setOnItemClickListener(new OnItemClickListener() {
   @Override
   public void onItemClick(AdapterView<?> arg0, View v, int arg2, long arg3) {          

   }
});
于 2012-09-26T05:48:33.783 に答える