導航:首頁 > 操作系統 > androidtextviewnew

androidtextviewnew

發布時間:2022-11-07 00:15:37

android添加一個文本組建, TextView txt = new TextView(this); 是定義+實例化的意思嗎

同意二樓的回答。
4,其實哪來那麼多規范,還不就是實例化一個對象,跟平時的那些寫法一樣的。
比如只是局部用到的,你這樣寫就可以了:
TextView txt = new TextView(this);
如果是全局的,你可以寫:
private TextView txt;
定義,然後在需要用到的地方實例化:
txt = new TextView(this);

㈡ android 動態更改textview 內容

public class MainActivity extends Activity {

private int index;
private TextView mTextView;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mTextView = new TextView(this);
setContentView(mTextView);
new DataThread().start();
}

private String getWebData() {
return String.valueOf(++index);
}

private Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
mTextView.setText((String)msg.obj);
};
};

private class DataThread extends Thread {
@Override
public void run() {

for(int i = 0; i < 4; i++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}

final String data = getWebData();
// 只能在主線程中修改ui控制項
mHandler.sendMessage(mHandler.obtainMessage(0, data));
}
}
}
}

㈢ 在android中,為什麼TextView tv = new TextView(); tv.setText("\t\nxxx"); 在機器上顯示的是xxx

data是什麼類型,getDec返回的又是什麼

我測試了一下表示沒有出現你那樣蛋疼的問題,我也寫了一個類,弄了一個getDec返回String的方法,表示可以正常的縮進和換行,是不是getDec方法的問題,或者String裡面是這樣的 \\t\\n

㈣ Android開發,請問TextView v=new TextView(this);代碼中的this是什麼意思呢加不加有什麼區別呢

關系型資料庫SQLite3,它是一個支持SQL輕量級的嵌入式資料庫,在嵌入式操作上有很廣泛的,WM採用的也是SQLite3

關於過於、原理方面的東西在這篇文章里不會提到,但是如果你想能夠快速的學會操作SQLite3,那這就是你要找的文章!

首先,我們看一下api,所有資料庫相關的介面、類都在.database和android.database.sqlite兩個包下,雖然只有兩個包,但是如果你英文不好或是太懶的話也要迷茫一段時間,其實,我們真正用的到的沒有幾個!

1、SQLiteOpenHelper (android.database.sqlite.SQLiteOpenHelper)

這是一個抽象類,關於抽象類我們都知道,如果要使用它,一定是繼承它!

這個類的方法很少,有一個構造方法

SQLiteOpenHelper(android.content.Context context, java.lang.String name,android.database.sqlite.SQLiteDatabase.CursorFactory factory, int version);

參數不做過多的解釋,CursorFactory一般直接傳null就可以

public void onCreate(SQLiteDatabase db)

此方法在創建資料庫是被調用,所以,應該把創建表的操作放到這個方法裡面,一會兒在後面我們會再詳細的說如何創建表

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)

從方法名上我們就能知道這個方法是執行更新的,沒錯,當version改變是系統會調用這個方法,所以在這個方法里應該執行刪除現有表,然後手動調用onCreate的操作

SQLiteDatabase getReadableDatabase()

可讀的SQLiteDatabase對象

SQLiteDatabase getWritableDatabase()

獲取可寫的SQLiteDatabase對象

2、SQLiteDatabase(android.database.sqlite.SQLiteDatabase)

關於操作資料庫的工作(增、刪、查、改)都在這個類里

execSQL(sql)

執行SQL語句,用這個方法+SQL語句可以非常方便的執行增、刪、查、改

除此之外,Android還提供了功過方法實現增、刪、查、改

long insert(TABLE_NAME, null, contentValues)添加記錄

int delete(TABLE_NAME, where, whereValue)刪除記錄

int update(TABLE_NAME, contentValues, where, whereValue) 更新記錄

Cursor query(TABLE_NAME, null, null, null, null, null, null) 查詢記錄

除此之外,還有很多方法,如:beginTransaction()開始事務、endTransaction()結束事務...有興趣的可以自己看api,這里就不多贅述了

3、Cursor(android.database.Cursor)

游標(介面),這個很熟悉了吧,Cursor里的方法非常多,常用的有:

boolean moveToPosition(position)將指針移動到某記錄

getColumnIndex(Contacts.People.NAME)按列名獲取id

int getCount()獲取記錄總數

boolean requery()重新查詢

boolean isAfterLast()指針是否在末尾

boolean isBeforeFirst()時候是開始位置

boolean isFirst()是否是第一條記錄

boolean isLast()是否是最後一條記錄

boolean moveToFirst()、 boolean moveToLast()、 boolean moveToNext()同moveToPosition(position)

4、SimpleCursorAdapter(android.widget.SimpleCursorAdapter)

也許你會奇怪了,之前我還說過關於資料庫的操作都在database和database.sqlite包下,為什麼把一個Adapter放到這里,如果你用過Android的SQLite3,你一定會知道

,這是因為我們對資料庫的操作會經常跟列表聯系起來

經常有朋友會在這出錯,但其實也很簡單

SimpleCursorAdapter adapter = new SimpleCursorAdapter(

this,

R.layout.list,

myCursor,

new String[] ,

new int[]);

my.setAdapter(adapter);

一共5個參數,具體如下:

參數1:Content

參數2:布局

參數3:Cursor游標對象

參數4:顯示的欄位,傳入String[]

參數5:顯示欄位使用的組件,傳入int[],該數組中是TextView組件的id

到這里,關於資料庫的操作就結束了,但是到目前為止我只做了翻譯的工作,有些同學可能還是沒有掌握,放心,下面我們一起順著正常開發的思路理清一下頭緒!

前面的只是幫沒做過的朋友做下普及,下面才是你真正需要的!

一、寫一個類繼承SQLiteOpenHelpe

public class DatabaseHelper extends SQLiteOpenHelper

構造方法:

DatabaseHelper(Context context) {

super(context, DATABASE_NAME, null, DATABASE_VERSION);

}

在onCreate方法里寫建表的操作

public void onCreate(SQLiteDatabase db) {

String sql = "CREATE TABLE tb_test (_id INTEGER DEFAULT '1' NOT NULL PRIMARY KEY AUTOINCREMENT,class_jb TEXT NOT NULL,class_ysbj TEXT NOT NULL,title TEXT NOT NULL,content_ysbj TEXT NOT NULL)";

db.execSQL(sql);//需要異常捕獲

}

在onUpgrade方法里刪除現有表,然後手動調用onCtreate創建表

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

String sql = "drop table "+tbname;

db.execSQL(sql);

onCreate(db);

}

對表增、刪、查、改的方法,這里用的是SQLiteOpenHelper提供的方法,也可以用sql語句實現,都是一樣的

關於獲取可讀/可寫SQLiteDatabase,我不說大家也應該會想到,只有查找才會用到可讀的SQLiteDatabase

/**

* 添加數據

*/

public long insert(String tname, int tage, String ttel){

SQLiteDatabase db= getWritableDatabase();//獲取可寫SQLiteDatabase對象

//ContentValues類似map,存入的是鍵值對

ContentValues contentValues = new ContentValues();

contentValues.put("tname", tname);

contentValues.put("tage", tage);

contentValues.put("ttel", ttel);

return db.insert(tbname, null, contentValues);

}

/**

* 刪除記錄

* @param _id

*/

public void delete(String _id){

SQLiteDatabase db= getWritableDatabase();

db.delete(tbname,

"_id=?",

new String[]);

}

/**

* 更新記錄的,跟插入的很像

*/

public void update(String _id,String tname, int tage, String ttel){

SQLiteDatabase db= getWritableDatabase();

ContentValues contentValues = new ContentValues();

contentValues.put("tname", tname);

contentValues.put("tage", tage);

contentValues.put("ttel", ttel);

db.update(tbname, contentValues,

"_id=?",

new String[]);

}

/**

* 查詢所有數據

* @return Cursor

*/

public Cursor select(){

SQLiteDatabase db = getReadableDatabase();

return db.query(

tbname,

new String[],

null,

null, null, null, "_id desc");

}

關於db.query方法的參數,有很多,為了防止大家弄亂,我簡單說一下

參數1:表名

參數2:返回數據包含的列信息,String數組里放的都是列名

參數3:相當於sql里的where,sql里where後寫的內容放到這就行了,例如:tage>?

參數4:如果你在參數3里寫了?(知道我為什麼寫tage>?了吧),那個這里就是代替?的值 接上例:new String[]

參數5:分組,不解釋了,不想分組就傳null

參數6:having,想不起來的看看SQL

參數7:orderBy排序

到這里,你已經完成了最多的第一步!我們來看看都用到了那些類:

SQLiteOpenHelper我們繼承使用的

SQLiteDatabase增刪查改都離不開它,即使你直接用sql語句,也要用到execSQL(sql)

二、這里無非是對DatabaseHelper類定義方法的調用,沒什麼可說的,不過我還是對查詢再嘮叨幾句吧

Android查詢出來的結果一Cursor形式返回

cursor = sqLiteHelper.select();//是不是很簡單?

查詢出來的cursor一般會顯示在listView中,這就要用到剛才提到的SimpleCursorAdapter

SimpleCursorAdapter adapter = new SimpleCursorAdapter(

this,

R.layout.list_row,

cursor,

new String[],

new int[]

);

裡面帶有實例。自己好好學習吧!

㈤ 安卓中,在Activity中生成TextView txt=new TextView(this);對

所謂的上下文就是該對象所處的環境以及資源,將this傳給textview後就意味著這個textview可以訪問這個activity里的所有資源

㈥ android動態創建的Textview怎麼獲取或者給他設置一個ID

ID本身是個int類型的,就算設置也只能給一個隨機不重復的int數字,但是如果想要通過字元串去實現,用個HashMap把鍵值對存下來

final static HashMap<String, Integer> listView = new HashMap<String, Integer>();

賦值ID linearLayout.setId(唯一id);

鍵值對 listView.put(字元串id, 前邊定義的唯一int ID);

獲取:

public static Integer getViewIdById(String id){
if (listView.containsKey(id))
return listView.get(id);
else
return -1;
}

㈦ android的textview怎麼初始化

你現在是把它創建出來了,但是沒有加到activity上,讓它顯示到哪兒呢。
最簡單的操作是調用setContentView(textView), 這樣,這一整個Acitivty就只顯示這個TextView了,但實際開發中肯定不這么干。

一般是把一個View加到一個Layout上。每一個Layout比如Linerlayout什麼的,都是一個GroupView,都有一個addView(View)的方式。
如果你一整個Activity都不想用find。。。那就初始一個Layout 加到 Ac上,加給layout 加view

public void onCreate(Buddle c) {
super.onCreate(c)

LinearLyaout layout = new LinearLayout(this);

setContentView(layout);

TextView tv = new TextView(this);

.......你的那堆代碼

layout.addView(tv);

}

㈧ android動態添加自定義TextView後如何更新某一個TextView的內容

public class MainActivity extends Activity { private int index; private TextView mTextView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mTextView = new TextView(this); setContentView(mTextView); new DataThread().start(); } private String getWebData() { return String.valueOf(++index); } private Handler mHandler = new Handler() { public void handleMessage(android.os.Message msg) { mTextView.setText((String)msg.obj); }; }; private class DataThread extends Thread { @Override public void run() { for(int i = 0; i < 4; i++) { try { Thread.sleep(1000); } catch (InterruptedException e) { } final String data = getWebData(); // 只能在主線程中修改ui控制項 mHandler.sendMessage(mHandler.obtainMessage(0, data)); } } } }

㈨ android中獲取TextView位置

TextView tv=new TextView(context);
LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT
);
tv.setLayoutParams(params);
//左右上下
int left=tv.getLeft();
int right=tv.getRight();
int width=tv.getWidth();
int height=tv.getHeight();
//左右上下的內部空白
int padingLeft=tv.getPaddingLeft();
int padingRight=tv.getPaddingRight();
int padingTop=tv.getPaddingTop();
int padingBt=tv.getPaddingBottom();
//只有LinearLayout.LayoutParams等有Margins屬性,不是所有的布局都有Margins要看具體情況
int marginLeft=params.leftMargin;
int marginRight=params.rightMargin;
int marginTop=params.topMargin;
int marginBt=params.bottomMargin;

有時候運行時代碼需要這樣取Margins:
ViewGroup.LayoutParams p=this.getLayoutParams();
if(p!=null && p instanceof LinearLayout.LayoutParams){
LinearLayout.LayoutParams lp=(LinearLayout.LayoutParams)p;
int margingLeft=lp.leftMargin;
...
}

㈩ android動態添加textview

你沒設置文字顏色吧

tv.setTextColor(this.getResources().getColor(R.color.black));
強制給設個顏色,不然系統自己默認個給你顯示,有的版本系統默認白色有的黑色。我之前就遇到過,在2.3.3系統上顯示黑色,在4.0.0系統顯示白色

閱讀全文

與androidtextviewnew相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:151
伊克塞爾文檔怎麼進行加密 瀏覽:893
app轉賬是什麼 瀏覽:163