我有一个LinearLayout设置高度为match_parent,如下所示:
<LinearLayout
android:id="@+id/list_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
Run Code Online (Sandbox Code Playgroud)
我想得到这个LinearLayout的高度.
我使用下面的代码:
LinearLayout ll_list = (LinearLayout)findViewById(R.id.list_layout);
int h = ll_list.getHeight();
Run Code Online (Sandbox Code Playgroud)
但它返回null.
我能怎么做?
以下是我的代码:
private HttpURLConnection connection;
private InputStream is;
public void upload() {
try {
URL url = new URL(URLPath);
connection = (HttpURLConnection) url.openConnection();
connection.setConnectTimeout(30000);
connection.setReadTimeout(30000);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.connect();
is = connection.getInputStream();
} catch (Exception e) {
e.printStackTrace();
}
}
public void stopupload() {
connection = null;
is = null;
}
Run Code Online (Sandbox Code Playgroud)
当我上传文件时,该行将is = connection.getInputStream();花费大量时间来回复.所以我想实现一个停止功能stopupload().但是如果我stopupload()在代码处理时调用is = connection.getInputStream();,它仍然需要等待它的回复.
我希望在实施时立即停止等待stopupload().我该怎么做?
如何设置GridView的边框.
如ListView的Divider和DividerHeight.
或者如何显示边框.
我把4个按钮放在相对布局中.我希望它们具有相同的宽度,并修复手机的任何屏幕尺寸.我的代码如下:
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="38dp" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/button1"
android:text="Button" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/button2"
android:text="Button" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/button3"
android:text="Button" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我应该修改什么?
我使用ListView来显示几个项目.我的row.xml如下:
<TextView android:text="text"
android:id="@+id/tvViewRow"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
<Button android:text="Click me!"
android:id="@+id/BtnToClick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="myClick">
</Button>
Run Code Online (Sandbox Code Playgroud)
我在Activity中定义myClick如下:
public void myClick (View v) {
LinearLayout vwParentRow = (LinearLayout)v.getParent();
//How to get the position
}
Run Code Online (Sandbox Code Playgroud)
如何知道点击它的位置?该位置与onListItemClick的方法相同.
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
}
Run Code Online (Sandbox Code Playgroud) 我写了一个应用程序.它运行在Android 2.3.4手机上,可以按下菜单.但如果在Android 4.0.3 TF201上运行,则菜单按钮不显示.如何让它显示菜单按钮?
我的布局有ImageView(iv)和TextView(tv).我想让iv的电视权利.电视的高度与iv相同.电视重力设置为CENTER_VERTICAL.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"/>
<TextView
android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/iv"
android:text="TextView" android:gravity="center_vertical"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
如何到达目标?
我使用下面的代码来播放流媒体音乐:
try {
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(URL);
mediaPlayer.prepare();
mediaPlayer.start();
}
catch(Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
我想同时缓冲文件到本地缓存文件.
而下次想玩这个url音乐可以直接播放本地文件.
我该怎么做?
或者任何人都可以提供参考
我的代码如下:
Uri uri = Uri.parse(URL);
video.setVideoURI(uri);
video.start();
Run Code Online (Sandbox Code Playgroud)
我使用 VideoView 播放流视频。
该视频是一个 VideoView。
我想在 MediaPlayer 中获得像 setOnBufferingUpdateListener 这样的缓冲百分比。
MediaPlayer.setOnBufferingUpdateListener(new OnBufferingUpdateListener() {
@Override
public void onBufferingUpdate(MediaPlayer mp, int percent) {
//buffering is percent
}
});
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
我使用下面的代码让我的应用程序可以在启动完成10秒后自动启动:
public class BootActivity extends BroadcastReceiver {
static final String ACTION = "android.intent.action.BOOT_COMPLETED";
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(ACTION)) {
context.startService(new Intent(context,
BootActivity.class));
try {
Thread.sleep(10000);
Intent newAct = new Intent();
newAct.setClass(BootActivity.this, NewActivity.class);
startActivity( newAct );
}
catch(Exception e) {
e.printStackTrace();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是setClass并startActivity不能在这里使用.
如何修改以将其设置为启动活动?