2012-05-11 32 views
1

私は、メーカー、モデル、価格の3つのカラムを持つデータベースを持っており、ボタンを押してすべてをストリングに保存し、その文字列をTextViewに渡すようにしました。私は何らかの形でテキストをクリック可能にしたいし、テキストをクリックして特定の製品がその製品の価格を変数に格納することを望むということです。androidのクリック可能なテキスト

これは、データベース

package com.WareHouse; 

import android.app.Activity; 
import android.content.Intent; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

public class viewall extends Activity { 

SQLiteDatabase myDB = null; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.vall); 

    Button vAll = (Button) findViewById(R.id.viewAll); 
    final TextView view2 = (TextView) findViewById(R.id.multiAutoCompleteTextView1); 

    vAll.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 

      try { 
       String Data = ""; 

       String TableName = "myTable"; 

       myDB = getBaseContext().openOrCreateDatabase(
         "DatabaseName", MODE_PRIVATE, null); 

       Cursor c = myDB 
         .rawQuery("SELECT * FROM " + TableName, null); 

       int Column1 = c.getColumnIndex("Field1"); 
       int Column2 = c.getColumnIndex("Field2"); 
            int Column3 = c.getColumnIndex("Field3"); 

       // Check if our result was valid. 
       c.moveToFirst(); 
       if (c != null) { 
        // Loop through all Results 
        do { 
         String Name = c.getString(Column1); 
         String Model = c.getString(Column2); 
                String Price = c.getStrin(Column3); 
         Data = Data + "Maker: " + Name + "\n" + "Model: " 
           + Model + "\n" +"Price: " + Price+ "\n"+"\n"; 
        } while (c.moveToNext()); 

       } 
       ////////////////////////////////////////// 
       view2.setText(Data.toString()); 
      } catch (Exception e) { 
       Log.e("Error", "Error", e); 
      } finally { 
       if (myDB != null) 
        myDB.close(); 
      } 

     } 
    }); 

    Button next = (Button) findViewById(R.id.buttonBack); 
    next.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      Intent intent = new Intent(); 
      setResult(RESULT_OK, intent); 
      finish(); 
     } 

    }); 


} 
} 

任意の提案をしてすべてを表示するためのコードですか?

ありがとうございます。

答えて

2

はアンドロイドを追加:としてのTextViewのためのクリッカブル= "true" を:

<TextView 
    android:id="@+id/multiAutoCompleteTextView1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:clickable="true" 
    android:text="@string/hello" 
    /> 

EDIT:viewall活動に

final TextView view2 = (TextView) findViewById(R.id.multiAutoCompleteTextView1); 
view2.setOnClickListener(listener); 
private OnClickListener listener = new OnClickListener() { 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     if (v.getId() == (R.id.multiAutoCompleteTextView1)) { 
      view2.setText(inname.getText() + "!" + "Welcome to Android"); 
     } 
     else { 
      Log.v(TAG, "...."); 
     } 
    } 

}; 
+1

これは正常に動作しなければならない....... ... –

+0

申し訳ありませんが、不愉快な質問のために私は最近Androidプログラミングを学び始めましたが、inname.getText()は何をしていますか? – GoGo

+0

inname.getText()をmultiAutoCompleteTextView1.getText()に置き換え、途中でコードを変更する –

関連する問題